Skip to content

dengchaojie/DesignPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2437907 · Aug 30, 2019

History

7 Commits
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 29, 2019
Aug 27, 2019
Aug 27, 2019
Aug 30, 2019

Repository files navigation

面向对象设计的设计模式

6个创建型设计模式,我的总结:

  • 简单工厂模式(Simple Factory Pattern):一种工厂(工厂),一种产品(手机)。细分手机:工厂创建手机根据tag;
  • 工厂方法模式(Factory Method Pattern):多种工厂(苹果工厂、小米工厂),一种产品(手机)。细分工厂:用相应的工厂创建相应的手机;
  • 抽象工厂模式(Abstract Factory Pattern):多种工厂(苹果工厂、小米工厂),多种产品(手机、电脑)。细分工厂和细分手机;
  • 单例模式(Singleton Pattern):创建一个静态对象,对外开放属性或者方法;
  • 生成器模式(Builder Pattern):创建对象,通过统一的创建接口,在接口内部由各Builder完成创建。
  • 原型模式(Prototype Pattern):创建对象,通过copy其他对象;

6种构造性设计模式,我的总结:

  • 外观模式:提供各种独立的接口,按需调用;
  • 适配器模式:上层接口名称不变,只是改变了接口的实现;
  • 桥接模式:将2个抽象类组合到一起,即一个持有另外一个;
  • 代理模式:将数据给到代理,或者由我的代理执行事件;
  • 装饰着模式:装饰着持有被装饰着,进行装饰;
  • 享元模式:复用已经创建好的对象,在对这个对象做其他设置;

7种行为型设计模式,我的总结:

  • 模板方法模式:定义通用接口,开放需要子类重写的接口;
  • 策略模式:定义一个大的行为,在定义一些小的行为,如果要调用小的行为,由大行为调用相应的小行为;
  • 责任链模式:如果一些对象的行为相同,且存在顺序关系,那么就可以定义为单向链。从头部节点触发行为,链式触发下一个节点的相同行为;
  • 状态模式:定义各种状态,当切换状态时,执行新状态时的各种行为;
  • 命令模式:把单独的行为封装成对象,如果想调用某一行为时,只需要调用相应的命令对象;
  • 观察者模式:建立一对一或者多对一的关系。当被观察者改变时,触发观察者行为;
  • 中介者模式:转发中转站,调用各个对象的相同行为;

参考文档: https://juejin.im/post/5bcb0362e51d450e7042eb6d

About

通用技能-你知道哪几种设计模式?

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published