Skip to content

codervoyage/learn_design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

learn_design

使用设计模式的目的

  1. 代码重用性、(避免重复代码)
  2. 可读性、(便于阅读和理解)
  3. 可扩展性、(扩展功能非常方便)
  4. 可靠性、(当我们新增功能后,对原有的功能没有影响)
  5. 高内聚低耦合

设计模式七大原则

  1. 单一职责原则(一个类只负责一个职责)

  2. 接口隔离原则 (一个类依赖另外一个类应当是建立在最小接口上)

  3. 依赖倒置原则 (细节依赖抽象,而不是细节依赖细节、抽象依赖细节)

    1. 变量的声明类型尽量是抽象类或者接口,这样我们的变量引用和实际对象之间,就存在一个缓冲层,利于程序扩展和优化。
  4. 里式替换原则

    1. 所有引用基类的地方必须能透明的使用其子类的对象。
    2. 在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类的方法。
    3. 继承实际上 让两个类的 耦合性增强了,在适当的情况下, 采用聚合,组合,依赖来解决问题。
  5. 开闭原则(对扩展开放,对修改关闭)(提供方可以扩展,使用方不能修改)

    1. 用抽象扩展框架,用实现扩展细节
  6. 迪米特法则

    1. 迪米特法则(Demeter Principle)又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供的public方法,不对外泄露任何信息。迪米特法则还有个更简单的定义:只与直接的朋友通信

    2. 直接朋友: 每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。

      耦合的方式很多,依赖,关联,组合,聚合等。其中,我们称出现成员变量,方法参数,方法返回值中的类为直接的朋友,而出现在局部变量中的类不是直接的朋友。也就是说,陌生的类最好不要以局部变量的形式出现在类的内部。

  7. 合成复用原则

    1. 原则是尽量使用合成 / 聚合的方式,而不是使用继承。

About

学习设计模式

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages