设计模式

  • 2024.10.11 | cuithink | 86次围观
    装饰器模式
    装饰器模式在不改变原始类接口的情况下,对原始类功能进行增强,并且支持多个装饰器的嵌套使用装饰器模式的各个角色Component 抽象构件角色: 是具体构件和抽象装饰类的父类,声明了具体构件中实现的业务方法,使得客户端能以一致的方式处理未装饰和已装饰对象。Concrete Component 具体构件角色: 是抽象构件类的子类,定义了具体的构建对象并实现了抽象构建中声明的方法。装饰类可以给它增加额外的职责(方法)。Decorator 抽象装饰角色: 是抽象构件类的子类,用于给具...
  • 2024.10.11 | cuithink | 69次围观
    模板方法模式
    在操作中定义算法的框架,将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。模板方法中的算法可以理解为广义上的业务逻辑,并不是特指某一个实际的算法.定义中所说的算法的框架就是模板, 包含算法框架的方法就是模板方法.模板方法(Template Method)模式包含以下主要角色:抽象父类:定义一个算法所包含的所有步骤,并提供一些通用的方法逻辑。具体子类:继承自抽象父类,根据需要重写父类提供的算法步骤中的某些步骤。抽象类(Abstract Cla...
  • 2024.10.11 | cuithink | 51次围观
    门面模式(外观模式)
    定义了一个高层、统一的接口,外部与通过这个统一的接口对子系统中的一群接口进行访问。通过创建一个统一的外观类,用来包装子系统中一个 / 多个复杂的类,客户端可通过调用外观类的方法来调用内部子系统中所有方法场景案例小成的爷爷已经80岁了,一个人在家生活:每次都需要打开灯、打开电视、打开空调;睡觉时关闭灯、关闭电视、关闭空调;小成买了一个智能家具控制器(外观对象/统一接口)给他爷爷,他爷爷只需要一键就能打开/关闭 灯、电视机、空调即用外观模式来为所有子系统设计一个统一的接口客户端只...
  • 2024.10.11 | cuithink | 12次围观
    观察者模式
    观察者模式它是用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应的作出反应在观察者模式中有如下角色:Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个主题都可以有任意数量的观察者,抽象主题提供一个接口,可以增加和删除观察者对象。ConcreteSubject:具体主题(具体被观察者),该角色将有关状态存入具体观察者对象,在具体主题的内部状态发生改变时,给所有注册过的观察者发送通知。Observe...
  • 2024.10.11 | cuithink | 20次围观
    责任链模式
    避免将一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求.将接收请求的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能够处理它为止将请求和请求的处理进行解耦,提高代码的可扩展性.职责链模式主要包含以下角色:抽象处理者(Handler)角色:定义一个处理请求的接口,包含抽象处理方法和一个后继连接(链上的每个处理者都有一个成员变量来保存对于下一处理者的引用,比如上图中的successor) 。具体处理者(Concrete Handler)角色:实现抽象处理者...
  • 2024.10.11 | cuithink | 98次围观
    建造者模式(Builder)
    将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。建造者模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到该对象,而无须知道其内部的具体构造细节。建造者模式包含4个角色 :抽象建造者类(Builder):这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的部件对象的创建。具体建造者类(ConcreteBuilder):实现 Builder 接口,完成复杂产品的各个部件的具体创建方法。在构造过程完成后,提...
  • 2024.10.11 | cuithink | 94次围观
    工厂模式
    5. 简单工厂简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,其主要目的是通过将对象的创建逻辑封装在一个工厂类中,从而隐藏对象的创建细节并简 化对象的创建过程。 在简单工厂模式中,客户端通过向工厂类传递不同的参数来请求工厂创建不同类型的对象。6. 工厂方法模式工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它定义了 一个用于创建对象的接口,但是具体创建哪个类的对象由子类决定。 在工厂方法模式中,我们将对象的创...
  • 2024.10.11 | cuithink | 83次围观
    设计模式-基本概念
    1. 设计原则2. 类型设计模式的类型总共分为:3大类、23种具体设计模式,具体如下:3. 常用设计模式针对三种设计模式类型,常见的设计模式是:创建型:单例模式、工厂方法模式(及 变式)、建造者模式;结构型:适配器模式、代理模式、门面(外观)模式;行为型:策略模式、观察者模式...
  • 2024.09.11 | cuithink | 101次围观
    适配器模式
    将一个类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。适配器模式的主要作用就是把原本不兼容的接口,通过适配修改做到统一,使得用户方便使用,就想我们提到的万能充 多接口数据线等待, 他们都是为了适配各种不同的接口做的兼容。适配器模式(Adapter)包含以下主要角色:目标(Target)接口:当前系统业务所期待的接口,它可以是抽象类或接口。适配者(Adaptee)类:适配者即被适配的角色,它是被访问和适配的现存组件库中的组件接口。适配器(Adapte...
  • 2024.09.11 | cuithink | 51次围观
    策略模式
    定义一系列算法,将每一个算法 封装起来,并使它们可以相互替换。策略模式让算法可以独立于使用它的客户端而变化。在策略模式中可以定义一些独立的类来封装不同的算法,每一个类封装一种具体 的算法,在这里每一个封装算法的类都可以被称为一种策略,为了保证这些策略在使用时具有一致性,一般会提供一个抽象的策略类来做算法的声明.而每种算法对应一个具体的策略类。策略模式的主要角色如下:抽象策略(Strategy)类:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接...