昏喽喽

vuePress-theme-reco Lio    2020 - 2025
昏喽喽

Choose mode

  • dark
  • auto
  • light
Home
Category
  • CentOS
  • Csharp
  • DataBase
  • DesignMode
  • Vue
  • FrontEnd
  • GLD
  • Kingdee
  • NetWork
Tags
TimeLine
Tools
  • Http请求
  • 日志配置
  • 加密解密
  • 验证码
  • Git命令
About
author-avatar

Lio

103

Articles

15

Tags

Home
Category
  • CentOS
  • Csharp
  • DataBase
  • DesignMode
  • Vue
  • FrontEnd
  • GLD
  • Kingdee
  • NetWork
Tags
TimeLine
Tools
  • Http请求
  • 日志配置
  • 加密解密
  • 验证码
  • Git命令
About

设计模式六大原则

vuePress-theme-reco Lio    2020 - 2025

设计模式六大原则

Lio 2021-01-29 设计模式

# 设计模式六大原则

# 单一职责原则 (Single Responsibility Principle)

  • 一个类只负责一件事情

# 里氏替换原则(Liskov Substitution Principle)

  • 任何使用基类的地方,都可以透明(安全,不会出现行为不一致)的使用其子类

  • 继承、多态 ---- 继承:子类拥有父类的一切属性和行为,任何父类出现的地方,都可以用子类来代替;子类出现的地方,父类不一定能替代


# 依赖倒置原则(Dependence Inversion Principle)

  • 高层模块不应该依赖于底层模块,二者应该通过抽象依赖,依赖抽象,而不是依赖细节

  • 抽象:接口/抽象类 -- 可以包含没有实现的元素

  • 细节:普通类 -- 一切都是确定的


# 接口隔离原则(Interface Segregation Principle)

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

# 迪米特法则(Law Of Principle) 最少知道法则

  • 一个对象应该对其他对象保持最少知道的了解

  • 高内聚低耦合

  • 类与类之间的关系

    • 纵向:继承父类 ≈ 实现接口(最密切)

    • 横向:聚合 > 组合 > 关联 > 依赖 (出现在方法内部)

  • 迪米特法则:降低类与类之间的耦合,去掉内部依赖,降低访问修饰符权限


# 开闭原则(Open Closed Principle)

  • 对扩展开放,对修改封闭

  • 修改:修改现有代码(类)

  • 扩展:增加代码(类)