简介:
工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
工厂模式可以分为三类:
- 1、简单工厂模式(Simple Factory)
- 2、多个工厂方法模式(Factory Method)
- 3、静态工厂方法模式(Abstract Factory)
一、简单工厂模式
简单工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。
public interface ComInterface {
public void print();
}
public class MyclassOne implements ComInterface {
@Override
public void print() {
System.out.println("this is MyclassOne class");
}
}
public class MyclassTwo implements ComInterface {
@Override
public void print() {
System.out.println("this is Myclasstwo");
}
}
public class MyFactory {
public ComInterface produce(String type) {
if ("One".equals(type)) {
return new MyclassOne();
} else if ("Two".equals(type)) {
return new MyclassTwo();
} else {
System.out.println("没有要找的类型");
return null;
}
}
}
public class FactoryTest {
public static void main(String[] args) {
MyFactory myFactory = new MyFactory();
ComInterface comInterface = myFactory.produce("One");
comInterface.print();
}
}
二、多个工厂方法模式
多个工厂方法模式,是对简单工厂模式的改进,多个工厂方法模式就是提供多个工厂方法,分别创建对象。
public class MyFactory {
public ComInterface produceOne(){
return new MyclassOne();
}
public ComInterface produceTwo(){
return new MyclassTwo();
}
}
public class FactoryTest {
public static void main(String[] args) {
MyFactory myFactory = new MyFactory();
ComInterface comInterface = myFactory.produceOne();
comInterface.print();
}
}
一、静态工厂方法模式
静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可
public class MyFactory {
public static ComInterface produceOne(){
return new MyclassOne();
}
public static ComInterface produceTwo(){
return new MyclassTwo();
}
}
public class FactoryTest {
public static void main(String[] args) {
ComInterface comInterface = MyFactory.produceOne();
comInterface.print();
}
}
网友评论