工厂方法模式——学习笔记

1.工厂方法是由简单工厂模式演变而来,依赖于工厂角色和产品角色的多态性,是为了改善:

(1)简单工厂模式当产品结构太复杂时,工厂类逻辑太过复杂的问题,

(2)简单工厂添加新产品时需要修改工厂类中工厂方法的代码,而破坏了“开闭原则”的问题

2.工厂方法返回的是抽象的产品接口,如果退化为返回一个具体的产品对象,针对产品的多态性丧失了,就失去了工厂方法的用意。

3.并不是所有返回新对象的方法都是工厂方法。

4.工厂方法模式通常和模板方法模式一起使用,工厂方法模式将创建工作推延给子类,模板方法模式将具体的实现工作推延给子类。所以通常在工厂方法的抽象工厂接口里加入一个模板方法,代表某个顶级逻辑,这个顶级逻辑调用的方法在具体工厂子类里实现。

5.工厂方法模式与MVC模式,MVC是框架级的模式,可以分解出多个设计模式,和工厂角色创建合适的产品角色一样,控制器controller创建合适的视图对象view,工厂方法的客户端可以作为模型端model。

6.享元模式 flyweight 使用了带有循环逻辑的工厂方法模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值