个人感悟
今天学习了策略模式,总的来说,是根据客户端,所发送的不同的策略,来返回不同的结果,是一种算法的封装。
比如,我在超市购物打折,满300减100,满200减50。这两个满减,就相当于类似的策略,可以封装在一起。而另外比如今天打8折,打5折,那么就会另外封装一个打折的类。
具体的代码网上很多,我这里就说下大概的思路。
先写一个接口,有一个计算的方法。之后写实现类,去实现这个接口。在写一个工厂的方法。去实例化这个接口和实现类。最后根据传进来不同的策略。实行不同的方法。
这里我突然感觉策略模式和工厂模式有点像。后来通过网络上查阅资料发现,工厂模式 是面对客户端传进来的对象进行操作。而策略模式,是个面对策略进行操作,更细化了。