设计模式中讲了很多模式,如果仅仅靠单个的去记忆(这个是不提倡的)和理解是很困难的,其效果也是不理想的。而最好的办法莫过于总结和对比理解,通过类似的知识间的相互对比有助于我们对问题的理解程度和灵活运用的能力。
其中《大话设计模式》中讲到了关于工厂类的模式主要有:简单工厂模式、工厂模式和抽象工厂模式。那么,我们就通过对比联系来理解这三种模式吧。
首先,我们必须知道它们的基本概念。
1、简单工厂模式:是一种创建模式,解决的问题是对象的创建,严格上说不是一种设计模式,而且它也不属于讲到的23种模式。
2、工厂模式:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。
3、抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
然后我们需要了解它们之间的关系与区别:
1、简单工程与工厂模式:
工厂方法模式是简单工厂模式的衍生,对简单工厂模式进行了抽象。相对于简单工厂,工厂模式完全实现‘开-闭 原则’,实现了可扩展。
2、工厂模式与抽象工厂模式:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个;工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
总结:
工厂模式这部分的水有点深,需要我们用心去学习,当然如果有好的方法去学,相对来说就简单点了。通过新旧知识的结合学习,前后的对比,能够加深我们对它的理解与灵活掌握。还有就是,一定要注重实践,只有亲自去思考去理解,我们才能征服它。