简单工厂模式又称为静态工厂方法模式
核心:
实例化对象,用工厂方法代替new操作。
package simple1_1factory;
//抽象产品类Car
public interface Car {
void run();
}
package simple1_1factory;
/具体产品类Audi
public class Audi implements Car {
public void run() {
System.out.println("奥迪在跑!");
}
}
package simple1_1factory;
//具体产品类Byd
public class Byd implements Car{
public void run() {
System.out.println("比亚迪在跑!");
}
}
package simple1_1factory;
//工厂类
public class Factory {
public static Car createCar(String type) {
if(type.equalsIgnoreCase("b")) {
return new Byd();
}
else {
return new Audi();
}
}
}
package simple1_1factory;
//客户端测试类Client
public class Client {
public static void main(String[] args) {
Car car;
car=Factory.createCar("b");
car.run();
}
}
运行截屏:
总结:
很好地满足了“单一职责原则”,在增加新的品牌车类并实现其中的run()方法,同时对工厂类Factory做简单的修改即可,无需对原有代码做大面积改动,但是工厂类Factory对增加车类以外新产品无能为力。