设计模式(简要,应付软考)

简单工厂模式(Simple Factory Pattern):

又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

单例实例:

确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

工厂模式:

定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。

装饰器模式:

动态地给一个对象添加一些额外的功能。就增加功能来说,装饰模式比生成子类更为灵活。

适配器模式:

将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

观察者模式:

定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新

外观模式:

要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。外观模式提供一个高层次的接口,使得子系统更易使用。

状态模式:

允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。

策略模式:

定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)

代理模式:

为其他对象提供一种代理以控制对这个对象的访问。(简而言之,通过代理对象访问需要访问的对象。)

生成器模式:

Builder模式也叫建造者模式或者生成器模式,Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。(简单来说就是封装一个复杂对象的构造过程,并允许按照步骤构造。)

原型模式

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能 。这种类型的设计模式属于创建型模式。(简而言之:通过类实现接口,实现克隆方法使得调用克隆方法时能过创建对象。)

备忘录模式:

备忘录模式是一种行为设计模式,允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。

迭代器模式:

迭代器模式是一种行为设计模式,让你能在不暴露集合底层表现形式(列表、栈和树等)的情况下遍历集合中所有的元素。

组合模式(Composite Pattern):

组合多个对象形成树形结构以表示具有"整体与部分"关系的层次结构。组合模式对单个

对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为"整体---部分"(Part-Whole)模式,它是一种对象结构型模式。

桥接模式:

将抽象和实现解耦,使得两者可以独立地变化。

中介者模式:

中介者模式是一种行为设计模式,能让你减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个中介者对象进行合作。

访问者模式:

访问者模式,用于封装一些作用于某种数据结构中的各元素的操作,它可以在不改数据结构的前提下定义作用于这些元素的新的操作。

解析器模式:

定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的"语言"是指使用规定格式和语法的代码。解释器模式是一种类行为型模式。

相关推荐
AI人工智能+电脑小能手16 小时前
大白话说Java设计模式-26-策略模式(业务实战篇)
java·spring·设计模式·策略模式·支付系统·算法切换
星火102421 小时前
【Groovy翻译-进阶篇】Groovy 中的设计模式
后端·设计模式·groovy
AI人工智能+电脑小能手21 小时前
大白话说Java设计模式-27-策略模式(源码剖析篇)
java·spring·设计模式·策略模式·源码分析·事务管理·comparator
SL_staff1 天前
风控规则如何从硬编码解耦?我们在 JVS-Rules 中的实践与思考
java·spring boot·设计模式
小此方1 天前
Linux加餐(一):藏在Linux中的设计模式(一)策略模式与日志
linux·设计模式·策略模式
To_OC1 天前
从一行入口代码啃透 NestJS:工厂模式、装饰器和依赖注入是怎么串起来的
后端·设计模式·nestjs
东方小月1 天前
从零开发一个 Coding Agent(十二):实现版本化 JSONL 与真实 CLI 入口
前端·设计模式·前端框架
程序员贺加贝1 天前
轻制造SaaS的生产闭环建模-BOM工单领料报工质检与入库
java·设计模式·架构
嘟嘟07172 天前
SDD 规范驱动开发:从 vibe coding 崩盘到"两次创造"
设计模式·代码规范·vibecoding
无凭2 天前
拆解 DeerFlow Memory:Agent 的长期记忆到底怎么做?
人工智能·设计模式