设计模式

Java设计模式之代理模式--经纪人的工作

代理模式是23种设计模式中结构型模式的一种,它的核心是通过代理类来完成其他对象的访问,降低访问者和被访问者的耦合度,也对功能进行了增强。 ......
模式 设计模式 经纪人 Java

万字详解常用设计模式

本文是博主在工作中对常用设计模式的使用经验总结归纳而来分享给大家。 > 设计模式一共有23种,本文讲解涉及如下: > 1. 责任链模式 > 2. 模板方法模式 > 3. 发布订阅模式 > 4. 策略模式 ## 三大分类 业界一般将设计模式分为三大类: - **创建型模式**:对类的实例化过程进行了抽 ......
设计模式 常用 模式

Go 设计模式|组合,一个对数据结构算法和职场都有提升的设计模式

Go 设计模式|组合,一个对数据结构算法和职场都有提升的设计模式 原创 KevinYan11 网管叨bi叨 2023-01-16 08:45 发表于北京 收录于合集#用Go学设计模式24个 大家好,我是每周在这里陪你进步的网管~,这次我们继续设计模式的学习之旅。本次要学习的是组合模式,这个模式呢,平 ......

20230418 大话设计模式【归档】

## 参考资料 * [大话设计模式 - 微信读书](https://weread.qq.com/web/reader/63632ba0813ab78f4g011d17?) ### 目录 * [0. 面向对象基础](https://www.cnblogs.com/huangwenjie/p/17490 ......
设计模式 大话 20230418 模式

设计模式

# 常用的设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 ## 1. 创建型模式: - 工厂方法模式(Factory Method Pattern) - 抽象工厂模式(Abstract Factory Pattern) - 建造者模式(Builder Pattern) - 单例模式(S ......
设计模式 模式

设计模式:适配器模式(论如何把鼠头适配成鸭脖)

适配器模式(Adapter Pattern)有时候也称包装样式或者包装,是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口。适配器模式可以让原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有三种类型:类适配器模式、对象适配器模式和接口适配器模式。类适配器模式采用... ......
模式 设计模式 适配器

Go设计模式实战--用状态模式实现系统工作流和状态机

大家好,这里是每周都在陪你进步的网管~!本节我们讲一个行为型的设计模式--状态模式,并通过Golang示例进行实战演示。 状态模式(State Pattern)也叫作状态机模式(State Machine Pattern)状态模式允许对象的内部状态发生改变时,改变它的行为,就好像对象看起来修改了它实 ......
状态 模式 工作流 设计模式 实战

设计模式:适配器模式(论如何把鼠头适配加工成鸭脖)

适配器模式(Adapter Pattern)有时候也称包装样式或者包装,是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口。适配器模式可以让原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有三种类型:类适配器模式、对象适配器模式和接口适配器模式。类适配器模式采用... ......
模式 设计模式 适配器

Python设计模式-07-装饰模式

装饰模式是一种结构型设计模式,它允许我们动态地将行为添加到对象中,而不需要使用继承。装饰模式通常包括以下几个角色: - 抽象组件(Component):定义了一个接口,用于被装饰对象和装饰器共同实现。 - 具体组件(Concrete Component):实现了抽象组件定义的接口,并提供了默认的行为 ......
模式 设计模式 Python 07

Python设计模式-17-外观模式

外观模式是一种结构型设计模式,它为复杂的子系统提供了一个简单的接口,从而隐藏了子系统的复杂性。外观模式通常包括以下几个角色: - 外观(Facade):提供了一个简单的接口,用于访问子系统中的一组接口。 - 子系统(Subsystem):实现了子系统的功能,并处理外观对象指派的任务。 下面是一个简单 ......
模式 设计模式 外观 Python 17

Python设计模式-18-中介模式

中介模式是一种行为型设计模式,它允许对象之间通过一个中介对象进行通信,从而减少对象之间的直接耦合。中介模式通常包括以下几个角色: - 中介者(Mediator):定义了一个接口,用于与各个同事对象通信,并协调它们之间的交互。 - 具体中介者(Concrete Mediator):实现了中介者定义的接 ......
模式 设计模式 中介 Python 18

Python设计模式-21-解释模式

解释器模式是一种行为型设计模式,它定义了一种语言,用于解释和执行特定的任务。解释器模式通常包括以下几个角色: - 抽象表达式(Abstract Expression):定义了一个接口,用于解释和执行特定的任务。 - 终结符表达式(Terminal Expression):实现了抽象表达式定义的接口, ......
模式 设计模式 Python 21

Python设计模式-22-模板模式

模板模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤延迟到子类中实现。模板模式通常包括以下几个角色: - 抽象类(Abstract Class):定义了一个算法的骨架,其中包含一些抽象方法,用于延迟到子类中实现。 - 具体类(Concrete Class):实现了抽象类定义的接口,并实现 ......
模式 设计模式 模板 Python 22

Python设计模式-20-迭代器模式

迭代器模式是一种行为型设计模式,它允许我们按照顺序访问一个聚合对象中的元素,而不需要暴露该对象的内部表示。迭代器模式通常包括以下几个角色: - 迭代器(Iterator):定义了一个接口,用于按照顺序访问聚合对象中的元素。 - 具体迭代器(Concrete Iterator):实现了迭代器定义的接口 ......
模式 设计模式 Python 20

Python设计模式-19-备忘录模式

备忘录模式是一种行为型设计模式,它允许我们在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。备忘录模式通常包括以下几个角色: - 发起人(Originator):定义了一个接口,用于创建备忘录对象和恢复对象状态。 - 备忘录(Memento):存储发起人对象的内部状态。 - ......
模式 设计模式 备忘录 Python 19

Python设计模式-12-状态模式

状态模式是一种行为型设计模式,它允许对象在内部状态发生改变时改变它的行为。状态模式通常包括以下几个角色: - 环境(Context):定义了客户端感兴趣的接口,并维护一个当前状态对象。 - 抽象状态(State):定义了一个接口,用于封装与环境的一个特定状态相关的行为。 - 具体状态(Concret ......
模式 设计模式 状态 Python 12

Python设计模式-12-策略模式

策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式通常包括以下几个角色: - 环境(Context):维护一个对策略对象的引用,并将客户端请求委托给当前策略对象。 - 抽象策略(Strategy):定义了一个接口,用于封装具体算法的实现。 - 具体策 ......
模式 设计模式 策略 Python 12

Python设计模式-16-命令模式

命令模式是一种行为型设计模式,它将请求封装成对象,从而允许我们将请求的发送者和接收者之间的耦合关系解耦。命令模式通常包括以下几个角色: - 命令(Command):定义了一个接口,用于封装具体命令的实现。 - 具体命令(Concrete Command):实现了命令定义的接口,并具体地实现了命令的逻 ......
模式 设计模式 命令 Python 16

Python设计模式-15-责任链模式

责任链模式是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。责任链模式通常包括以下几个角色: - 抽象处理者(Handler):定义了一个接口,用于处理请求,并维护一个对下一个处理者的引用。 - 具体处理者(Concrete Handler):实现了 ......
模式 设计模式 责任 Python 15

Python设计模式-10-享元模式

享元模式是一种结构型设计模式,它通过共享对象来减少内存使用和对象创建的数量。享元模式通常包括以下几个角色: - 享元工厂(Flyweight Factory):负责创建和管理享元对象。 - 享元(Flyweight):表示共享的对象,包含内部状态和外部状态。 - 内部状态(Intrinsic Sta ......
模式 设计模式 Python 10

Python设计模式-11-观察者模式

观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它会自动通知所有观察者对象,使它们能够及时更新自己的状态。观察者模式通常包括以下几个角色: - 主题(Subject):定义了被观察的对象,可以有多个观察者监听它。 - 观察者 ......
模式 观察者 设计模式 Python 11

Python设计模式-06-代理模式

代理模式是一种结构型设计模式,它提供了一个代理对象来控制对另一个对象的访问。代理模式通常包括以下几个角色: - 抽象主题(Subject):定义了代理对象和真实对象的公共接口,可以是一个抽象类或接口。 - 真实主题(Real Subject):定义了代理对象所代表的真实对象。 - 代理(Proxy) ......
模式 设计模式 Python 06

Python设计模式-07-桥接模式

桥接模式是一种结构型设计模式,它将抽象部分和实现部分分离开来,使它们可以独立地变化。桥接模式通常包括以下几个角色: - 抽象部分(Abstraction):定义了抽象部分的接口,并持有一个实现部分的引用。 - 扩展抽象部分(Refined Abstraction):扩展了抽象部分的接口,可以包含一些 ......
模式 设计模式 Python 07

Python设计模式-08-组合模式

模式是一种结构型设计模式,它允许我们将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式通常包括以下几个角色: - 组件(Component):定义了组合中所有对象的通用接口,可以是一个抽象类或接口。 - 叶子节点(Leaf):表示组合中的叶子节点,它没有子节点。 - 组合节点(Compos ......
模式 设计模式 Python 08

Python设计模式-09-外观模式

外观模式是一种结构型设计模式,它提供了一个简单的接口,隐藏了系统的复杂性,使得客户端可以更容易地使用系统。外观模式通常包括以下几个角色: - 外观(Facade):提供了一个简单的接口,隐藏了系统的复杂性,使得客户端可以更容易地使用系统。 - 子系统(Subsystem):实现了系统的功能,但对客户 ......
模式 设计模式 外观 Python 09

Python设计模式-03-原型模式

原型模式是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类来创建新对象。原型模式通常包括以下几个角色: - 原型(Prototype):定义了一个克隆自身的接口,用于复制现有对象。 - 具体原型(Concrete Prototype):实现了原型接口,负责复制自身。 - 客户端 ......
模式 设计模式 原型 Python 03

Python设计模式-04-单例模式

单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点。单例模式通常包括以下几个角色: - 单例(Singleton):定义了一个静态方法或类方法,用于获取单例对象。 - 客户端(Client):使用单例对象来完成具体的操作。 下面是一个简单的 Python 示例,演示了如何使 ......
模式 设计模式 Python 04

Python设计模式-05-适配器模式

适配器模式是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常包括以下几个角色: - 目标接口(Target):定义了客户端所期望的接口,可以是一个抽象类或接口。 - 适配器(Adapter):实现了目标接口,并持有一个被适配对象的引用,负责将客户端的请求转换成被 ......
模式 设计模式 适配器 Python 05

Python设计模式-02-建造者模式

建造者模式是一种创建型设计模式,它可以将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常包括以下几个角色: - 产品(Product):表示被构建的复杂对象,通常包含多个部分或组件。 - 抽象建造者(Builder):定义了创建产品的抽象接口,包括创建产品的各 ......
模式 设计模式 Python 02

设计模式之工厂模式

一、工厂模式概述 工厂模式(Factory Pattern)是一种创建型设计模式,旨在提供一种统一的方式来创建对象,将对象的实例化过程封装在一个单独的类中。工厂模式通过定义一个公共的接口来创建对象,但允许子类决定实例化哪个类。这样可以将对象的实例化与客户端代码的耦合度降到最低,同时也提供了一种可扩展 ......
模式 设计模式 工厂