【Head First 设计模式】-欢迎来到设计模式的世界
五月箴言
你的问题主要在于读书不多而想得太多。—— 杨绛
第一章
欢迎来到设计模式的世界
前言:做开发也有几年了,设计模式感觉自己在开发的过程中似乎也用到了,现在看来一地鸡毛。
所谓模式:最重要的是经验复用,而不仅仅是代码复用!
本章中提到的设计原则:
1、可能变化和不需要变化的代码不要混在一起
可能变化和不需要变化这个的区分是由开发经验和生活常识决定。
这里引入一个“行为”表示可能变化的部分,用新的类表示行为,一个行为对应一个行为,大约会有一组新类代表没给行为。
“一组行为”也可表述为“一簇算法”
2、针对接口编程,而不是针对实现编程
针对接口编程,关键是多态。利用多态,程序可以设计超类型编程,执行时会根据实际情况执行到真正的行为,不会被绑死在超类型的行为上。
“针对超类型编程”:变量的生命类型应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这变量。这也意味着,声明类时不用理会以后之行时的真正对象类型!
3、多用组合,少用继承
使用组合建立系统具有很大的弹性,不仅可将算法族封装成类,更可以“在运行时动态的改变行为”,只要组合的行为对象符合正确的接口标准即可。
抽象、封装、多态、继承,这些只是OO(面向对象)基础
设计模式是在OO基础和原则的基础上被发现的。