软件设计的七大原则

一. 软件设计的七大原则

  1. 单一职责原则:一个类只负责一个功能领域中的饿相应职责。
  2. 开闭原则:对扩展开放,对修改关闭,多使用抽象类和接口,应该尽量使这个系统能够扩展新的功能,通过扩展来实现变化,而不需要修改现有的代码。
  3. 里氏替换原则:基类/父类/超类可以被子类/派生类替换,使用抽象类作为基类继承,不使用具体类继承,在使用继承关系来扩展系统的功能时,应该保证子类不会被破坏基类的特性和行为。
  4. 接口隔离原则:使用多个隔离的接口,比使用单个接口好,建立最小的接口,接口应该尽量细化,从而使得每个接口都只包含一个职责。
  5. 依赖倒转原则:要依赖于抽象,不要依赖于具体,针对接口编程,不针对实现编程。
  6. 迪米特法则:也称为最少知识原则,一个软件实体应当尽可能少的与其它实体发生相互作用,通过中间类建立联系,也就是一个对象应该对其它对象尽可能少的了解,仅与直接的朋友通信,直接的朋友指的就是当前对象的成员变量、方法参数等...迪米特法则的目的是减少对象之间的耦合度,降低系统的耦合度,使类与类之间保持松散的耦合关系,提高代码的可维护性和灵活性,减少依赖关系,遵循高内聚低耦合的设计原则。
  7. 合成复用原则:尽量使用合成/聚合,而不是使用继承来实现代码的复用
  8. 高内聚低耦合原则:模块内部的元素彼此之间的联系尽可能的紧密,模块之间的联系尽可能的松散。

什么是聚合?

  • 在面向对象设计中,聚合是一种关联关系,表示一种包含关系或"整体-部分"关系,聚合描述了对象之间的合理联系,其中一个对象(整体) 可以包含其它对象(部分/成员),但整体与部分/成员之间可以存在独立的生命周期。 
  • 举例:一个图书馆系统,图书馆(整体对象)可以包含书架、书籍和借阅记录(成员对象)。当图书馆关闭时,书架、书籍和借阅记录仍然可以存在或转移到其它地方。

 

你可能感兴趣的:(设计模式)