上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 56 下一页
摘要: 生成器是一种创建型设计模式, 当构建一个复杂对象时,将构建过程与表示分离。使得同样的过程创建不同的对象。生成器与其他创建型模式不同, 生成器不要求产品拥有通用接口。 这使得用相同的创建过程生成不同的产品成为可能。 生成器 (Builder) 接口声明在所有类型生成器中通用的产品构造步骤,一般都由虚函 阅读全文
posted @ 2022-09-19 11:12 double64 阅读(102) 评论(0) 推荐(0)
摘要: 组合模式的核心思想就是:一个组织有很多子组织,而无论子组织是单独一个部门或是一个分组织。该组织都希望把它们当成一样的子组织来管理。对于分组织,只用通知分组织就可以了,而不用一一通知分组织的各个部门。 组件(Component):为组合中的对象声明接口,声明了类共有接口的缺省行为(如这里的Add,Re 阅读全文
posted @ 2022-09-19 10:24 double64 阅读(35) 评论(0) 推荐(0)
摘要: Command(抽象命令类):抽象出命令对象,可以根据不同的命令类型。写出不同的实现类 Concrete Command(具体命令类):实现了抽象命令对象的具体实现 Invoker(调用者/请求者):请求的发送者,它通过命令对象来执行请求。一个调用者并不需要在设计时确定其接收者,因此它只与抽象命令来 阅读全文
posted @ 2022-09-19 09:59 double64 阅读(31) 评论(0) 推荐(0)
摘要: BaseHandler:抽象基类,用于作为处理请求的接口。如果特定等级的请求该类无法处理,则传递给下一个handler,一般这类情况class内部都是纯虚函数。 ConcreteHandler(TechnicalSupportHandler, BillingSupportHandler, and G 阅读全文
posted @ 2022-09-19 09:36 double64 阅读(44) 评论(0) 推荐(0)
摘要: 抽象中介者(Mediator):抽象中介者角色定义统一的接口,用于各同事角色之间的通信。 抽象同事类(Colleague ):每一个同事角色都知道中介者角色,而且与其它的同事角色通信的时候,一定要通过中介者角色协作。每个同事类的行为分两种:一种是同事本身行为,比如改变对象本身的状态,处理自己的行为等 阅读全文
posted @ 2022-09-18 17:26 double64 阅读(28) 评论(0) 推荐(0)
摘要: 上下文(Context):也称为上下文,它定义了客户端需要的接口,内部维护一个当前状态,并负责具体状态的切换。 抽象状态(State):定义一个接口,用以封装环境对象中的特定状态所对应的行为,可以有一个或多个行为。 具体状态(Concrete State):实现抽象状态所对应的行为,并且在需要的情况 阅读全文
posted @ 2022-09-18 16:44 double64 阅读(43) 评论(0) 推荐(0)
摘要: 这种模式比较常见,发布和订阅的机制。 普通触发 示例: /*观察者模式*/ #include <iostream> #include <set> using namespace std; //观察者接口,包括事件响应函数 class Observer { public: virtual void u 阅读全文
posted @ 2022-09-18 15:58 double64 阅读(31) 评论(0) 推荐(0)
摘要: Target(目标抽象类):目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类。该角色把其他类转换为我们期望的接口 Adapter(适配器类):将被适配者和目标接口组合到一起的类,适配器可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配,适配器类是适配器模式的 阅读全文
posted @ 2022-09-18 10:22 double64 阅读(28) 评论(0) 推荐(0)
摘要: 上帝对象: 外观模式为现有对象定义了一个新接口, 适配器模式则会试图运用已有的接口。 适配器通常只封装一个对象, 外观通常会作用于整个对象子系统上。 示例: #include<iostream> using namespace std; class Sub_Work1//子工作1 { public: 阅读全文
posted @ 2022-09-17 11:37 double64 阅读(32) 评论(0) 推荐(0)
摘要: 策略模式在我们编写算法时是非常重要的,它能让你定义一系列算法, 并将每种算法分别放入独立的类中, 以使算法的对象能够相互替换。 示例: #include <iostream> //飞行行为,用抽象类表示 strategy 抽象策略类 class FlyBehavior { public: virtu 阅读全文
posted @ 2022-09-17 10:53 double64 阅读(17) 评论(0) 推荐(0)
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 56 下一页