设计原则概述
对于面向对象软件系统设计而言,软件的可维护性和可复用性是用于衡量软件质量的两个非常重要属性。如何同时提高一个软件系统的可维护性和可复用性是面向对象设计设计解决的核心问题之一。面向对象设计的目标之一在于支持可维护性和可复用性。
- 可维护性:软件能够被理解、改正、适应以及扩展的难易程度。
- 可复用性:软件能够被重复使用的难以程度。
在面向对象设计中,可维护性和可复用是以设计原则为基础的,每一个设计原则都蕴含着一些面向对象设计的思想。
面向对象设计原则也是设计模式的基础,每一个设计模式都符合一个或多个面向对象设计原则。
涉及到的概念
在设计原则中常涉及到一些概念,在这里优先解释一下,可以对后续的学习理解起到一定的作用。
- 聚合 has-A:整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享
- 组合 contains-A :体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束
- 继承 is-A :一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能
七大设计原则
单一职责原则、开闭原则、里氏代换原则、依赖倒换原则、接口隔离原则、合成复用原则、迪米特法则。
后续依次介绍…