策略模式

2016-12-12  本文已影响0人  ziabo_yu

策略模式和工厂模式有类似之处,但是策略模式引入了一个类似于智囊的东西来存储实现类的接口对象,做到了进一步的解耦,虽然只是小小的改动,但是看起来却觉得清晰了很多,首先,先上接口类的代码:
![S{53MKR_[TTWHHGTO@)_AI.png
注释已经写得很明白了,就不多做解释.
接下来是四个计算类,依次是加减乘除

Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
他们都实现了MathStrategy接口,并且都有自己一套单独的逻辑来处理,当然这里只是简单的加减乘除.通过调用calculate方法得到结果,接下来就是扮演智囊角色的类了
Paste_Image.png
里面很多注释加入了我自己的想法,可能你会觉得不以为然,没关系,条条大道通罗马,不管怎么理解,效果达到就好.
或者我们还可以这么拓展,PackStrategy我们可以做成单例,这样会不会更省性能呢,设计模式的路还有很远,慢慢努力吧
上一篇下一篇

猜你喜欢

热点阅读