Headfirst 设计模式 章一

原文链接:http://www.cnblogs.com/little-fresh/p/4482571.html

设计原则:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一块。

换种说法:把会变化的部分取出并封装起来,以便以后可以轻易的改动或扩充此部分,而不影响不需要变化的其他部分。

设计原则:针对接口编程,而不是针对实现编程。多用组合,少用继承。

换句话说:“有一个”可能比“是一个”更好。

总结:

策略模式:

定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

解释:

将变化的算法或者行为抽象成接口,真正的实现类则继承该接口并实现具体算法和行为。

对于需要使用这些算法或者操作行为的对象,只需要在其基类中定义上述的接口变量(组合),增加调整相应接口变量的方法。并通过该接口变量调用算法或者操作行为。

在对象实例化时,只要初始化相应的接口变量便可使用其算法或者操作行为,即便后续对象调整算法或者行为,也只需要调用改变接口变量的方法重新设置接口变量即可。

从而实现算法或者行为独立于使用对象。

 

转载于:https://www.cnblogs.com/little-fresh/p/4482571.html

上一篇:设计模式 | 第二篇:观察者模式


下一篇:headFirst设计模式——装饰者模式