Skip to content

SleepingXiaoming/Design-Patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 

Repository files navigation

Design-Patterns

来一起手撕设计模式吧

面试题目中经常会出现设计模式,为了能够更好的理解设计模式,从而我创建了这个仓库,可以在这里手撕设计模式。

设计模式分为三类

  • 创建型模式
  • 结构型模式
  • 行为模式
三者之间的区别与联系

创建型模式提供生存环境,结构型模式提供生存理由,行为型模式提供如何生存。

  • 创建型模式为其他两种模式使用提供了环境。

  • 结构型模式侧重于接口的使用,它做的一切工作都是对象或是类之间的交互,提供一个门。

  • 行为型模式顾名思义,侧重于具体行为,所以概念中才会出现职责分配和算法通信等内容。

设计原则

  1. 开闭原则:对扩展开放,对修改关闭

  2. 里氏转换原则: 子类继承父类,单独完全可以运行

  3. 依赖倒转原则: 引用一个对象,如果这个对象有底层类型,直接引用底层类型

  4. 接口隔离原则: 每一个接口应该是一种角色

  5. 合成/聚合复用原则: 新的对象应使用一些已有的对象,使之成为新对象的一部分

  6. 迪米特原则: 一个对象应对其他对象有尽可能少的了解

创造型模式

单例设计模式(Singleton)

工厂设计模式(Factory)

建造者设计模式(Builder)

原型设计模式(Prototype)

结构型模式

适配器设计模式(Adapter)

桥接模式(Bridge)

过滤器模式(Filter)

组合模式(Combination)

装饰器模式(Decorator)

外观模式(Appearance)

享元模式(Flyweight)

代理模式(Proxy)

行为型模式

About

来一起手撕设计模式吧

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages