随笔分类 -  设计模式

所有代码都在“23种设计模式”随笔内附有地址链接
摘要:23种设计模式 设计模式是软件工程中用于解决特定问题的通用解决方案。常见的设计模式有24种,通常分为三大类:创建型、结构型和行为型。下面是对这24种设计模式的详细解释及其归类: 1. 创建型模式 1.1 单例模式 (Singleton) 目的:确保一个类只有一个实例,并提供一个全局访问点。 适用场景 阅读全文 »
posted @ 2024-10-24 11:16 疾风不问归途 阅读(233) 评论(0) 推荐(0) 编辑
摘要:命令模式 命令模式(Command Pattern)是行为型设计模式之一,它将请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,以及对请求排队或记录请求日志等操作。通过使用命令模式,命令的发出者与命令的执行者可以完全解耦。 命令模式的结构 Command(命令接口/抽象类):定义了执行命 阅读全文 »
posted @ 2024-09-17 15:12 疾风不问归途 阅读(66) 评论(0) 推荐(0) 编辑
摘要:责任链模式 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象有机会处理请求,从而避免请求的发送者和接收者之间的耦合。这个模式将请求的处理者连接成一条链,沿着这条链传递请求,直到某个处理者处理它为止。 责任链模式的主要角色: 抽象处理者(H 阅读全文 »
posted @ 2024-09-17 15:12 疾风不问归途 阅读(12) 评论(0) 推荐(0) 编辑
摘要:观察者模式 观察者模式(Observer Pattern)是一种设计模式,用于建立对象之间的一对多依赖关系。这种模式使得当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现事件处理系统或消息通知系统。 在观察者模式中,有两个主要角色: 被观察者(Subject) 阅读全文 »
posted @ 2024-09-17 15:12 疾风不问归途 阅读(33) 评论(0) 推荐(0) 编辑
摘要:访问者模式 “访问者模式”通常是指软件开发中的一种设计模式,也叫做“Visitor模式”。它属于行为型设计模式之一,主要用于将数据结构和操作解耦。通过使用访问者模式,可以在不修改数据结构的前提下,定义新的操作。 访问者模式的基本思想是:你有一个包含不同对象的对象结构(例如一个元素集合),而这些对象可 阅读全文 »
posted @ 2024-09-17 15:12 疾风不问归途 阅读(40) 评论(0) 推荐(0) 编辑
摘要:模板方法模式 模板方法模式(Template Method Pattern)是一种行为设计模式,它定义了一个算法的骨架,并允许子类在不改变算法结构的情况下重写算法的某些步骤。通过这种模式,能够复用算法的整体流程,同时又能够灵活调整某些具体步骤的实现。 模板方法模式的关键要素 抽象类(Abstract 阅读全文 »
posted @ 2024-09-17 15:11 疾风不问归途 阅读(6) 评论(0) 推荐(0) 编辑
摘要:策略模式 策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以互换。这种模式允许算法在不影响客户端的情况下变化,从而提高了代码的灵活性和可维护性。 策略模式的组成 策略模式由以下几个部分组成: 抽象策略(Strategy):这是一个接口 阅读全文 »
posted @ 2024-09-17 15:11 疾风不问归途 阅读(68) 评论(0) 推荐(0) 编辑
摘要:状态模式 状态模式(State Pattern)是一种行为设计模式,它允许对象在内部状态发生改变时改变其行为。状态模式使得对象的行为依赖于其内部状态,并且在状态改变时,对象的行为也会随之改变。这个模式的核心思想是将不同的状态封装成不同的类,让状态对象在内部进行切换,而不是将所有的状态逻辑集中在一个对 阅读全文 »
posted @ 2024-09-17 15:11 疾风不问归途 阅读(32) 评论(0) 推荐(0) 编辑
摘要:备忘录模式 备忘录模式(Memento Pattern)是一种行为型设计模式,用于保存和恢复对象的内部状态,而不暴露对象的实现细节。这种模式使得对象能够恢复到之前的状态,从而支持撤销和恢复操作。 主要角色 发起人(Originator): 负责创建一个包含自身内部状态的备忘录对象,并可以使用备忘录恢 阅读全文 »
posted @ 2024-09-17 15:11 疾风不问归途 阅读(42) 评论(0) 推荐(0) 编辑
摘要:中介者模式 中介者模式(Mediator Pattern)是一种行为型设计模式,用于减少多个对象或类之间复杂的交互依赖。通过引入一个中介者对象,所有对象之间的通信不再直接进行,而是通过中介者来协调和管理,从而降低对象之间的耦合度。这使得系统更易于扩展和维护,因为对象之间的关系可以通过修改中介者来管理 阅读全文 »
posted @ 2024-09-17 15:11 疾风不问归途 阅读(11) 评论(0) 推荐(0) 编辑
摘要:迭代器模式 迭代器模式(Iterator Pattern)是一种行为设计模式,旨在提供一种方法顺序访问一个聚合对象(如列表、集合)中的各个元素,而无需暴露其内部表示。这种模式的核心是将遍历行为封装在迭代器对象中,使得客户端代码可以统一地处理不同类型的集合或容器。 主要角色 迭代器接口(Iterato 阅读全文 »
posted @ 2024-09-17 15:10 疾风不问归途 阅读(45) 评论(0) 推荐(0) 编辑
摘要:解释器模式 解释器模式(Interpreter Pattern)是一种行为设计模式,它定义了一种用于解释和执行语言或表达式的语法表示方法。该模式的主要目的是让语言的语法易于扩展和修改。 解释器模式的结构 解释器模式通常由以下几个部分组成: 抽象表达式(Abstract Expression):定义一 阅读全文 »
posted @ 2024-09-17 15:10 疾风不问归途 阅读(64) 评论(0) 推荐(0) 编辑
摘要:代理模式 代理模式(Proxy Pattern)是一种结构型设计模式,它通过引入代理对象来控制对某个对象的访问。代理对象和实际对象实现相同的接口,因此可以在不改变实际对象的情况下,对访问进行控制。代理模式主要有以下几种类型: 虚代理(Virtual Proxy):用于延迟初始化对象的创建。虚代理会在 阅读全文 »
posted @ 2024-09-17 15:10 疾风不问归途 阅读(172) 评论(0) 推荐(0) 编辑
摘要:享元模式(Flyweight Pattern)是一种结构型设计模式,旨在通过共享大量细粒度对象来减少内存使用。它在需要创建大量相似对象的场景中尤其有用,通过共享对象来降低内存开销,从而提高性能。 核心思想 享元模式将对象的状态分为两部分: 内部状态(Intrinsic State):不随外部环境改变 阅读全文 »
posted @ 2024-09-17 15:09 疾风不问归途 阅读(39) 评论(0) 推荐(0) 编辑
摘要:外观模式 外观模式(Facade Pattern)是一种结构型设计模式,旨在为复杂的子系统提供一个简单的接口。它的核心思想是将系统的复杂性封装在一个统一的接口中,使得外部代码可以通过这个接口简化对复杂系统的操作。 主要组成部分 外观类(Facade Class):提供一个简化的接口来访问复杂的子系统 阅读全文 »
posted @ 2024-09-17 15:09 疾风不问归途 阅读(19) 评论(0) 推荐(0) 编辑
摘要:装饰者模式 装饰者模式(Decorator Pattern)是一种结构型设计模式,主要用于动态地给对象添加额外的功能,而不改变其结构。这个模式通过创建一个装饰类来包装原始对象,从而扩展其功能。 主要角色 组件(Component):定义一个接口或抽象类,声明可以被装饰的对象所共有的接口。 具体组件( 阅读全文 »
posted @ 2024-09-17 15:09 疾风不问归途 阅读(9) 评论(0) 推荐(0) 编辑
摘要:组合模式 组合模式(Composite Pattern)是一种结构型设计模式,用于将对象组合成树形结构以表示“部分-整体”的层次关系。它允许客户端以统一的方式处理单个对象和对象集合,使得客户端不需要区分具体的对象类型,从而简化了代码的处理逻辑。 主要组成部分 Component(组件):定义了叶子对 阅读全文 »
posted @ 2024-09-17 15:08 疾风不问归途 阅读(23) 评论(0) 推荐(0) 编辑
摘要:桥接模式 桥接模式(Bridge Pattern)是一种结构型设计模式,它通过将抽象部分与实现部分分离,从而使它们可以独立地变化。这个模式的主要目的是解耦抽象和实现,使得它们可以独立地变化和扩展。 主要概念 抽象(Abstraction): 这是一个接口或抽象类,它定义了高层次的操作。 修正抽象(R 阅读全文 »
posted @ 2024-09-17 15:08 疾风不问归途 阅读(25) 评论(0) 推荐(0) 编辑
摘要:适配器模式 适配器模式(Adapter Pattern)是一种结构型设计模式,用于解决接口不兼容的问题。它的主要作用是将一个类的接口转换成客户端期望的另一个接口,使得原本由于接口不兼容而无法一起工作的类可以一起工作。 概念 目标接口(Target): 客户端期望使用的接口。 源接口(Adaptee) 阅读全文 »
posted @ 2024-09-17 15:08 疾风不问归途 阅读(20) 评论(0) 推荐(0) 编辑
摘要:原型模式 原型模式(Prototype Pattern)是一种创建型设计模式,其主要目的是通过复制现有的对象来创建新的对象,而不是通过构造函数进行实例化。这个模式的核心思想是“克隆”现有对象,以获得新的实例,尤其是在创建成本较高的情况下非常有用。 原型模式通常涉及以下几个角色: 原型(Prototy 阅读全文 »
posted @ 2024-09-17 15:08 疾风不问归途 阅读(40) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示