天天看点

面向对象设计之设计原则面向对象设计之设计原则

文章目录

  • 面向对象设计之设计原则
    • 面向对象设计的基础
    • 设计原则
      • 单一职责原则
      • 里氏代换原则
      • 依赖倒置原则
      • 接口隔离原则
      • 迪米特法则
      • 开闭原则
    • 其他原则
      • 封装变化,封装易变点
      • Kiss 原则
      • 多用组合,少用继承

面向对象设计之设计原则

面向对象设计的基础

  • 抽象
  • 封装
  • 继承
  • 多态

设计原则

一切都是为了低耦合、高内聚的设计而努力

面向对象有如下 6 个原则

单一职责原则

如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性

里氏代换原则

任何基类出现的地方,子类也可以出现

依赖倒置原则

依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合

接口隔离原则

客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上

迪米特法则

又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解

开闭原则

软件中的构件应该对扩展开放,对修改关闭

其他原则

封装变化,封装易变点

在代码中,应该很容易就能发现哪些地方是不变的,哪些地方是易变的。针对哪些易变的地方,一定要将其抽取出来,将其封装到一个方法/函数当中,避免这些易变的代码给整体带来

坏味道

Kiss 原则

Keep it Simple,这个原则说的就是尊崇简单原则,不要为了模式而使用模式

多用组合,少用继承

此时要区别类之间的关系,是

有一个

还是

是一个

有一个

则使用组合,

是一个

则使用继承