设计模式之工厂方法模式
程序员文章站
2024-01-05 17:05:52
...
工厂方法模式分为三种:普通工厂模式、多个工厂方法模式和静态工厂方法模式
普通工厂模式:
普通工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。
public interface MyInterface {
public void print();
}
public class MyClassOne implements MyInterface {
@Override
public void print() {
System.out.println("MyClassOne");
}
}
public class MyClassTwo implements MyInterface {
@Override
public void print() {
System.out.println("MyClassTwo");
}
}
public class MyFactory {
public MyInterface 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 static void main(String[] args) {
MyFactory factory = new MyFactory();
factory.produce("One").print();
}
}
多个工厂方法模式
多个工厂方法模式,是对普通工厂方法模式的改进,多个工厂方法模式就是提供多个工厂方法,分别创建对象。
public class MyFactory {
public MyInterface produceOne(){
return new MyClassOne();
}
public MyInterface produceTwo(){
return new MyClassTwo();
}
public static void main(String[] args) {
MyFactory factory = new MyFactory();
factory.produceOne().print();
}
}
静态工厂方法模式
静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,类名直接调用即可。
public class MyFactory {
public static MyInterface produceOne(){
return new MyClassOne();
}
public static MyInterface produceTwo(){
return new MyClassTwo();
}
public static void main(String[] args) {
MyFactory.produceOne().print();
}
}