Spring Boot - Design Pattern

设计模式(Design Pattern)是一种设计软件时经常出现的问题的解决方案。在设计模式中,“模式”一词意味着应用程序开发中出现的问题往往很相似,并且可以同样使用解决方案。但是设计模式并不是所有问题的正确答案,最好是根据情况选择最佳模式来使用。

设计模式分类

GoF是设计模式的经典名著Design Patterns: Elements of Reusable Object-Oriented Software(中译本名为《设计模式——可复用面向对象软件的基础》)的四位作者,他们分为是:Elich Gamma、Richard Helm、Ralph Johnson、以及John Vlissides。这四个人常被称为Gang of Four, 即四人组,简称GoF。

Gof 设计模式分类
创建型Creational模式结构型Structural模式行为型Behavioral模式
抽象工厂模式(Abstract Factory)适配器模式(Adapter)职责链模式(Chain of Responsibility)
生成器模式(Builder)桥接模式(Bridge)命令模式(Command)
工厂方法模式(Factory Method)组合模式(Composite)解释器模式(Interpreter)
原型模式(Prototype)装饰模式(Decorator)迭代器模式(Iterator)
单例模式(Singleton)外观模式(Facade)中介者模式(Mediator)
享元模式(Flyweight)备忘录模式(Menmento)
代理模式(Proxy)观察者模式(Observer)
状态模式(State)
策略模式(Strategy)
模板方法模式(Template Method)
访问者模式(Visitor)

创建型模式

  • 这是创建对象时使用的模式,即使修改对象,调用部分也不会受到影响。

结构型模式

  • 将物体组合起来,形成更大的结构。

行为型模式

  • 对象之间的算法或责任分配模式。
  • 使用多个对象来分配一个不能完成的任务。结合也需要考虑最小化。

创建型模式

  • 抽象工厂:不指定具体类而提供界面生成符合情况的对象的模式。
  • 生成器:将对象的生成和表现分离出来生成对象的模式。
  • 工厂方法:将创建对象分离为子类并进行委任的模式。
  • 原型:复制原始对象生成对象的模式。
  • 单例:每个类只生成一个实例,以保证只有一个实例,并提供在任何地方都可以访问的模式。

结构型模式

  • 适配器:将类的接口转换成预期的接口的模式。
  • 桥接:将抽象画和实现分开,各自独立变形的模式。
  • 组合:由多个对象组成的复合对象和单一对象在客户端中无区别地处理的模式。
  • 装饰:通过对象的结合,可以动态、灵活地扩展功能的模式。
  • 外观:一种模式,在子系统的接口集合中提供一个统一的接口。
  • 享元:一个特定类的实例提供多个虚拟实例时使用的模式。
  • 代理:不直接引用特定对象,而是通过代理(弗拉克西)对象访问的模式。

行为型模式

  • 职责链:将责任连锁请求处理对象创建成集合,从而松散耦合的模式。
  • 命令:封装命令可执行的可能性,并设计类来执行给定的各种可能。
  • 解释器:为给定语言的语法定义表达手段,并解释相应语言构成的句子的模式。
  • 迭代:在不暴露内部结构的情况下,提供了依次访问该对象的集合元素的方法。
  • 中介者:是定义一个对象的模式,它将一个集合中的对象的相互作用胶囊化。
  • 备忘录:保存对象的状态信息,根据需要恢复状态的模式。
  • 观察者:观察对象状态变化的观察者,即把观察者目录登记到客体上,每当状态变化时,通过方法等让客体直接通知观察者的设计模式。
  • 状态:根据状态,对象改变行为的模式。
  • 策略:将行为封装成类,使其动态改变行为的模式。
  • 模板方法:将处理一定任务的部分封装为子类,在不改变整体执行结构的情况下,只改变特定阶段执行的模式。
  • 访问者:具有实际逻辑的对象访问并执行应用逻辑的对象的模式。

详情

(3条消息) 设计模式_AnyaPapa的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AnyaPapa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值