(所有源码均在:https://github.com/zongzhec/JavaPractise)
目录
工厂方法设计模式
特点
1. 有一个接口;
2. 一系列的实现类;
3. 每一个实现类,会有自己的工厂类。
优点
如果增加产品的实现类,不需要修改工厂类的代码,只需要增加一个对应的工厂类就可以。
缺点
类太多。
源码
package zongzhe.design_pattern.simple_factory;
public class FactoryDemo {
public static void main(String[] args) {
// 多态引用,左边是接口的类型,右边赋值的是实现类的对象
Car c = BMWFactory.getBMW();
c.run();
}
}
// 每一个实现类,单独编写工厂
class BMWFactory {
public static BMW getBMW() {
return new BMW();
}
}
// 另一种写法
interface CarFactory {
Car getCar();
}
class BenzFactory implements CarFactory {
@Override
public Car getCar() {
return new Benz();
}
}