# designPattern **Repository Path**: xylve/design-pattern ## Basic Information - **Project Name**: designPattern - **Description**: 设计模式 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-12-29 - **Last Updated**: 2025-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: 设计模式 ## README # 📚设计模式项目文档 > 设计模式 - 标准设计模式通常被划分为三大类别:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)和行为型模式(Behavioral Patterns)。以下是23种设计模式的简要总结: 1. **创建型模式**(5种): - **工厂方法(Factory Method)**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。 - **抽象工厂(Abstract Factory)**:提供一个接口,用于创建相关或依赖对象家族的一系列工厂。 - **建造者(Builder)**:将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 - **原型(Prototype)**:通过复制现有的实例来创建新对象,而不是每次都从头初始化一个实例。 - **单例(Singleton)**:保证一个类仅有一个实例,并提供全局访问点。 2. **结构型模式**(7种): - **适配器(Adapter)**:将一个类的接口转换成客户希望的另一个接口,使原本不兼容的类可以协同工作。 - **桥接(Bridge)**:将抽象部分与实现部分分离,以使它们可以独立变化。 - **组合(Composite)**:允许你将对象组合成树形结构,并且可以对单个对象和组合对象进行一致处理。 - **装饰(Decorator)**:在运行时为对象动态地添加新的职责或行为。 - **外观(Facade)**:为子系统中的一组接口提供一个统一的高层接口,简化了对该子系统的使用。 - **享元(Flyweight)**:运用共享技术有效支持大量细粒度的对象。 - **代理(Proxy)**:为其他对象提供一种代理以控制对这个对象的访问。 3. **行为型模式**(11种): - **责任链(Chain of Responsibility)**:避免请求发送者与接收者之间的耦合,多个对象有机会处理请求,沿着链传递直至处理完成。 - **命令(Command)**:将一个请求封装为一个对象,从而使用户可以参数化地指定请求、队列请求、以及可撤销请求。 - **解释器(Interpreter)**:给定一个语言,定义它的文法的一种表示,并定义该文法如何解释执行。 - **迭代器(Iterator)**:提供一种顺序访问聚合对象元素的方式,而无需暴露其底层表示。 - **中介者(Mediator)**:定义一个中介对象来封装一系列对象间的交互关系,降低各个对象之间的耦合度。 - **备忘录(Memento)**:在不破坏封装性的前提下,捕获并外部化对象的内部状态以便稍后恢复。 - **观察者(Observer)**:定义对象间的一种一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 - **状态(State)**:允许对象在其内部状态改变时改变其行为,对象看起来好像修改了它的类。 - **策略(Strategy)**:定义了一系列算法,并将每一个算法封装起来,使得它们可以互相替换,让算法的变化独立于使用算法的客户。 - **模板方法(Template Method)**:在一个抽象类中定义一个操作中的框架,而将一些步骤延迟到子类中实现。 - **访问者(Visitor)**:表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 ## 📋 目录结构 | 目录 | 说明 | | -------------------------- | -------------------- | | com/zy/adapter | 适配器模式目录 | | com/zy/bridge | 桥接模式目录 | | com/zy/builder | 建造者模式目录 | | com/zy/command | 命令模式目录 | | com/zy/composite | 组合模式目录 | | com/zy/decorator | 装饰者模式目录 | | com/zy/facade | 外观模式目录 | | com/zy/factory | 工程模式目录 | | com/zy/flyweight | 享元模式目录 | | com/zy/interpreter | 解释器模式目录 | | com/zy/iterator | 迭代器模式目录 | | com/zy/mediator | 中介者模式目录 | | com/zy/memento | 备忘录模式目录 | | com/zy/observer | 观察者模式目录 | | com/zy/principle | 设计模式七大原则目录 | | com/zy/prototype | 原型模式目录 | | com/zy/proxy | 代理模式目录 | | com/zy/responsibilitychain | 责任链模式目录 | | com/zy/singleton | 单例模式目录 | | com/zy/state | 状态模式目录 | | com/zy/strategy | 策略模式目录 | | com/zy/template | 模板方法模式目录 | | com/zy/uml | UML类图关系目录 | | com/zy/visitor | 访问者模式目录 | ## ✨ 联系我: image-20240119002412787 ## 📌 学习笔记 ### 我的所有开源代码 https://gitee.com/xylve ## 📔 部分页面截图 暂未提供