简单工厂模式:封装性好,日常开发中经常使用到,易于扩展,用于生产不同产品族的对象。
抽象工厂模式:封装性好,简单,横向扩展容易,纵向扩展困难,用于生产同一系列,不同等级的对象。
缓存工厂模式:封装性好,简单易用,预置缓存对象,提高系统查询性能。
1、三种工厂模式的类图
2、工厂模式代码较简单,不进行代码展示。用一个贴近实战的问题结束。
工厂模式的抽象选择接口还是抽象类?
其实这个问题需要辩证的思想去看待,如果是名词属性的工厂,例如生产汽车,那么它们都是有共同的属性,而且都是依赖顶层架构进行加工处理,这时候可以使用抽象类。如果是形容词性的工厂,例如会飞的汽车、可以再水中行驶的汽车、独一无二的汽车等等,可以选择接口,需要的时候进行添加接口,实现接口的方法即可。
总结:工厂方法其实还有很多变种,学习知识需要灵活运用。