. 这几天看了几遍工厂模式,感觉和简单工厂没有什么太大的区别,事实真的如此吗?
概念
工厂方法(Factory Method)其实就是定义一个用于创建决定对象的接口,让子类决定实例化那一个类。工厂方法使一个类的实例化延迟到其子类。
结构图
简单工厂和工厂方法的区别
1):简单工厂最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了具体产品的依赖。
2)工厂方法克服了简单工厂违背开放-封闭原则的缺点,工厂方法模式实现时,客户端需要决定实例化哪一工厂来实现运算类,工厂方法把简单工厂的内部逻辑判断已到了客户端代码进行,本来是要改工厂类,现在则是需要修改客户端
后记
简单工厂和工厂方法的区别需要细细斟酌