前言
工厂模式分为三种
1、简单工厂模式(静态工厂方法模式)
2、工厂方法模式(多态性工厂模式)
3、抽象工厂模式(工具箱模式)
什么是简单工厂模式?
由一个工厂类的静态方法根据传入的参数变量决定创建出哪一种产品类的实例。
简单工厂模式具备三种角色:工厂角色、抽象产品角色、具体产品角色,三种角色可以合并,省略。
好处:
1)客户端完全不必操心工厂方法返回的对象的创建过程,可以隐藏实例化细节,得到简化;
2)设计简单,产品角色的等级变化不会影响到工厂类角色。
缺点:
1)增加新的产品,必将导致工厂类的修改(扩展困难);
2)使用静态方法作为工厂方法,而静态方法无法被子类继承,工厂角色无法形成继承结构。
API实例
DateFormat抽象类具有静态方法getDateInstance
父类 DateFormat(抽象类)
子类 SimpleDateFormat
声明:
对于设计模式的思考总结,诸多参考自闫宏博士《Java与模式》一书,鼎力推荐。