设计原则:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一块。
换种说法:把会变化的部分取出并封装起来,以便以后可以轻易的改动或扩充此部分,而不影响不需要变化的其他部分。
设计原则:针对接口编程,而不是针对实现编程。多用组合,少用继承。
换句话说:“有一个”可能比“是一个”更好。
总结:
策略模式:
定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
解释:
将变化的算法或者行为抽象成接口,真正的实现类则继承该接口并实现具体算法和行为。
对于需要使用这些算法或者操作行为的对象,只需要在其基类中定义上述的接口变量(组合),增加调整相应接口变量的方法。并通过该接口变量调用算法或者操作行为。
在对象实例化时,只要初始化相应的接口变量便可使用其算法或者操作行为,即便后续对象调整算法或者行为,也只需要调用改变接口变量的方法重新设置接口变量即可。
从而实现算法或者行为独立于使用对象。
转载于:https://www.cnblogs.com/little-fresh/p/4482571.html