Skip to content

wangGuangXu/DesignPattem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 

Repository files navigation

设计模式(Design Pattern)

pic

设计模式分为3种类型,共23种。

  • 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
  • 结构型型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
  • 行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

设计模式的 本质面向对象设计原则灵活运用的产物,并提供的针对特定问题的标准化解决方案

如果编写程序的时候考虑的都是如何针对抽象编程而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类或接口,那就是面向对象的设计,反正就是过程化的设计.

面向对象7大设计原则:

1. 单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。

  • 软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。

2. 开放-封闭原则(OCP):对于扩展是开放的,对于更改是封闭的。

  • 面对需求,对程序的改动是通过增加新代码,而不是修改现有的代码。
  • 此原则是面向对象设计的核心所在

3. 依赖倒置原则(DIP):抽象不应该依赖于细节,细节应该依赖于抽象。

  • 高层模块不应该依赖于低层模块,两个都应该依赖于抽象。
  • 抽象不应该依赖于细节,细节应该依赖于抽象。
  • 面向对象的标志

4. 里氏替换原则(LSP):子类必须能够替换掉它们的父类型。

  • 只有当子类可以替换掉父类,软件单位的功能不受任何影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。
  • 由于子类的可替换性才使得父类类型的模块在无需修改的情况下就可以扩展。

5. 迪米特法则(LoD):如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

6. 组合复用原则(CARP):尽量使用合成/聚合,尽量不要使用类继承。

7. 接口隔离原则(ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口

int a = 1;
int b = 2;
int c = a+b;

About

设计模式学习

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages