工厂模式的认识(GOF23)
---恢复内容开始---
对于所有的设计模式来说,其本质是哪里变化封装哪里。寻找变化点,没有万能的模式,只有适合情况的应用
工厂模式从简单工厂开始演化
1.简单工厂的主要作用在于从源头开始封装实例化,也就是new操作,这么做的最大好处在于可以由创建者去控制使用者去使用什么实例,并且对于后期的修改,只需在工厂创建处进行处理,隔离了部分的改动,其本质就是把new进行方法化。
问题:不能应对不同系列的对象(相互依赖的系列对象),因为工厂本身也可能是个变化源。
2.为了解决系类对象的问题,使用抽象工厂的模式,把工厂的变化隔离开来,不依赖于具体的实现,而是依赖于抽象和接口,实际上也可以在系类对象处使用静态工厂来创建不同系类对象的工厂
问题:不能解决新对象的需求变动
3.可以和工厂方法模式组合来应对“新对象”的需求
---恢复内容结束---

浙公网安备 33010602011771号