面向对象的分析设计会根据一些原则进行设计,以下是一些常见的设计原则。

常见的面向对象设计原则

  1. 单一职责原则SRP(Single Responsibility Principle: 就是说一个类仅有一个引起它变化的原因。如果一个类有多个引起它变化的原因,那也就意味着这个类有多个职责,把多个职责耦合在一起了。

  2. 开放-关闭原则OCP(Open-Closed Principle):就是说一个类应该对扩展开放,对修改关闭,也称为开闭原则。要求类的行为是可以扩展的,而且是在不修改已有代码的情况下进行扩展,也不必改动已有的源代码或者二进制代码。

  3. 里氏替换原则LSP(Liskov Substitution Principle): 就是说子类型必须能够替换掉它们的父类型,这是一种多态的使用情况,它可以避免在多态的应用中,出现某些隐蔽的错误。

  4. 依赖倒置原则DIP(Dependence Inversion Principle): 就是说要依赖于抽象,不要依赖于具体类,要做到依赖倒置需要做到:1高层模块不应该依赖于底层模块,二者都应该依赖于抽象,2抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

  5. 接口隔离原则ISP(Interface Segregation Principle): 就是说不应该强迫客户依赖于他们不用的方法。通常用来处理比较“庞大”的接口,即有较多操作声明的接口。分离接口的方式有代码分离,使用委托来分离接口,多重继承的方式进行分离。

  6. 最少知识原则LKP(Least Knowledge Principle): 就是说只和你的“朋友”说话,设计系统时应该尽量减少对象之间的交互,松散类的耦合。“朋友”有:当前对象本身;通过方法的参数传递进来的对象;当前对象所创建的对象;当前对象的实例变量所引用的对象;方法内所创建或实例化的对象

  7. 其他原则:如面向接口编程;优先使用组合而非继承;一个类需要的数据应该隐藏在类的内部;类之间应该零耦合或者只有传导耦合;在水平方向上尽可能统一地分布系统功能

根据Gang of Four四人的分类,23种设计模式可以分为三大类,分别为structural patterns, creational patterns 和 behavioral patterns,详细释义如下:

结构型(Structural):Structural patterns deal with the composition of classes or objects.

创建型(Creational):Creational patterns concern the process of object creation.

行为型(Behavioral):Behavioral patterns characterize the ways in which classes or objects interact and distribute responsibility.

设计模式概览
设计模式概览

 

 

相关文章:

  • 2021-09-13
  • 2021-05-04
  • 2021-07-10
  • 2022-12-23
  • 2021-07-03
  • 2022-03-05
  • 2021-12-12
猜你喜欢
  • 2021-09-14
  • 2021-05-22
  • 2021-06-26
  • 2021-07-04
  • 2022-01-22
相关资源
相似解决方案