摘要: 状态模式的定义与特点 状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 状态模式是一种对象行为型模式,其主要优点如下。 结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满 阅读全文
posted @ 2021-08-04 15:37 8023渡劫 阅读(69) 评论(0) 推荐(0)
摘要: 模式的定义与特点 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 注意:责任链模式也叫职责链模式。 阅读全文
posted @ 2021-08-04 14:53 8023渡劫 阅读(39) 评论(0) 推荐(0)
摘要: 命令模式的结构与实现 可以将系统中的相关操作抽象成命令,使调用者与实现者相关分离,其结构如下。 1. 模式的结构 命令模式包含以下主要角色。 抽象命令类(Command)角色:声明执行命令的接口,拥有执行命令的抽象方法 execute()。 具体命令类(Concrete Command)角色:是抽象 阅读全文
posted @ 2021-08-04 14:46 8023渡劫 阅读(45) 评论(0) 推荐(0)
摘要: 模板方法 ## 模式的定义与特点 模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。 该模式的主要优点如下。 1. 它封装了不变部分,扩展可变部分。 阅读全文
posted @ 2021-08-03 17:52 8023渡劫 阅读(47) 评论(0) 推荐(0)
摘要: ## 代理模式的定义与特点 代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。 代理模式的主要优点有: - 代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用; - 代理对 阅读全文
posted @ 2021-08-03 17:38 8023渡劫 阅读(46) 评论(0) 推荐(0)
摘要: ## 适配器模式的定义与特点 适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以 阅读全文
posted @ 2021-08-03 16:59 8023渡劫 阅读(64) 评论(0) 推荐(0)
摘要: ## 桥接模式的定义与特点 桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。 通过上面的讲解,我们能很好的感觉到桥接模式遵循了里氏替换原则和依赖倒置原则,最终实现了开闭原则,对修改关闭,对扩展开放 阅读全文
posted @ 2021-08-03 16:24 8023渡劫 阅读(111) 评论(0) 推荐(0)
摘要: 装饰(Decorator)模式:动态地给对象增加一些职责,即增加其额外的功能。 ## 装饰器模式的结构与实现 通常情况下,扩展一个类的功能会使用继承方式来实现。但继承具有静态特征,耦合度高,并且随着扩展功能的增多,子类会很膨胀。如果使用组合关系来创建一个包装对象(即装饰对象)来包裹真实对象,并在保持 阅读全文
posted @ 2021-08-03 11:15 8023渡劫 阅读(137) 评论(0) 推荐(0)
摘要: 组合模式的结构与实现 组合模式的结构不是很复杂,下面对它的结构和实现进行分析。 1. 模式的结构 组合模式包含以下主要角色。 抽象构件(Component)角色:它的主要作用是为树叶构件和树枝构件声明公共接口,并实现它们的默认行为。在透明式的组合模式中抽象构件还声明访问和管理子类的接口;在安全式的组 阅读全文
posted @ 2021-08-02 17:11 8023渡劫 阅读(244) 评论(0) 推荐(0)
摘要: 外观模式的定义与特点 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。 在日常编码工作中,我们都在有意 阅读全文
posted @ 2021-08-02 16:51 8023渡劫 阅读(36) 评论(0) 推荐(0)