《大话设计模式》 读书笔记(二)

《大话设计模式》 读书笔记(二)
1. 策略模式
策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。

简单工厂模式只是封装了多态第一步(产生子类)的代码。
策略模式则直接产生子类,然后去选择调用的算法。也可以在简单工厂的基础上继续工作,用子类来调用相应的算法。(这就不是纯粹的策略,而是简单工厂+策略)
简单工厂需要返回子类对象,而策略模式可以返回也可以不返回。(反正工作做完了)。

在简单工厂模式中我们只需要传递相应的条件就能得到想要的一个对象,然后在客户端通过这个对象实现算法的操作。(所以算法没有封好)
而策略模式,使用时必须首先创建一个想使用的类对象,然后将该对象最为参数传递进去,通过该对象调用不同的算法。(算法完全被封好了)
在简单工厂模式中实现了通过条件选取一个类去实例化对象,策略模式则将选取相应对象的工作交给模式的使用者,它本身不去做选取工作。


缺点:由于策略模式把每个具体的策略实现都单独封装成为类,如果备选的策略很多的话,那么对象的数目就会很可观。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值