上了软件工程以后,对于软件的设计模式有了一些了解,觉得之前对于某些模糊的概念也渐渐明朗起来,今天在图书馆找到了一门介绍设计模式的书,感觉不错,推荐给大家:《Head First 设计模式》。Head First是个系列,有很多与编程、软件有关的书籍,而且内容充实富有乐趣,通过实例讲解本来仍人乏味的理论知识。
策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算分的客户。
设计原则:
- 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起(把会变化的部分取出并“封装”起来)。
- 针对接口编程,而不是针对实现编程。
- 多用组合,少用继承(has-a 可能比 is-a 更好)。