在设计模式上,抽象、继承、多态,是基本概念,设计模式的目的是建立弹性设计,以便维护和应付变化。简单说就是提高软件的可维护性和可扩展性。
TIPS
- OO设计必须具备可复用性,可扩展性,可维护性三个基本特性。
- 模式可以让我们建立出具有良好OO设计质量的系统。
- 模式不是代码,而是针对问题的通用解决方法。
- 多数模式和原则,致力于软件变化的主题,以及允许局部改变独立于其他部分。
- 将系统中变化的部分抽取封装。
- 当维护时,为了复用而使用继承,会出现局限性。
原则
把变化的部分封装起来,让其他部分不受影响。
找出应用中可能变化的部分,把它们独立出来。针对接口,而不是实现编程。
针对接口的编程,关键是多态,使用多态,程序可以实现针对超类编程。
关于超类,既可以是名词性的事物,也可以是动词属性的行为,行为也可以包含多个信息。多组合,少继承。