设计模式
文章平均质量分 54
来世做春风嘛
文章大部分是自己的学习记录,最主要的目的是方便自己查阅复习。谢谢大家的收藏和点赞。
展开
-
设计模式 行为型模式 - 状态模式(五)
我感觉状态模式没啥用。。。 一、概述 问题分析: (1)使用了大量的 switch...case 这样的判断(if...else 也是一样),使程序的可阅读性变差。 (2)扩展性很差。如果新增了断电的状态,需要修改判断逻辑。 定义: 对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发送改变时改变其行为。 二、结构 状态模式包含以下主要角色: (1)环境(Context)角色:也称为上下文,它定义了...原创 2021-12-13 18:22:36 · 342 阅读 · 0 评论 -
设计模式 行为型模式 - 命令模式(三)
一、概述 定义: 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。 二、结构 命令模式的主要角色如下: (1)抽象命令(Command)角色:定义命令的接口,声明执行的方法。 (2)具体命令(Concrete Command)角色:具体的命令,实现命令的接口;通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。 (3)实现者/接收者(Receiver)角色:接.原创 2021-12-13 14:14:16 · 458 阅读 · 0 评论 -
设计模式 结构型模式 - 享元模式(七)
一、概述 定义: 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 二、结构 享元(Flyweight)模式中存在以下两种状态: (1)内部状态,即不会随着环境改变而改变的可共享部分。 (2)外部状态,指随环境改变而改变的不可共享的部分。享元模式的实现要领就是区分应用中的两种状态,并将外部状态外部化。 享元模式的主要有以下角色: (1)抽象享元角色(Flyweight):通常是一原创 2021-12-10 11:26:28 · 366 阅读 · 0 评论 -
设计模式 结构型模式 - 组合模式(六)
一、概述 定义: 又名部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 二、结构 组合模式包含以下主要角色: (1)抽象根节点(Component):定义系统各层次对象的共有方法和属性,可以预先定义一些默认行为和属性。 (2)树枝节点(Composite):定义树枝节点的行为,存储子节点,组合树枝节点形成一个树形结构。 (3)叶子节点(Leaf).原创 2021-12-07 18:08:51 · 277 阅读 · 0 评论 -
设计模式 结构型模式 - 外观模式(五)
一、概述 定义: 又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一的接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。 外观(Facade)模式是“迪米特法则”的典型应用。 二、结构 外观(Facade)模式包含以下主要角色: (1)外观(Facade)为多个子系统对外提供一个共同的接口。 (2)子系统(Sub System)角色:实现系统.原创 2021-12-06 17:02:20 · 322 阅读 · 0 评论 -
设计模式 结构型模式 - 桥接模式(四)
一、概述 定义: 将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。 二、结构 桥接(Bridge)模式包含以下主要角色: (1)抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化角色的引用。 (2)扩展抽象化(Refined Abstraction)角色:是抽象化角色的子类,实现父类中的业务方法,并通过组合关系调用实现化角色中的业务方法。 (3)实现化(Implementor)角色:定.原创 2021-12-06 15:48:27 · 296 阅读 · 0 评论 -
设计模式 创建型模式 - 原型模式(三)
一、概述 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 二、结构 三、实现 四、案例 五、使用场景 六、扩展(深克隆) ...原创 2021-11-22 15:44:18 · 195 阅读 · 0 评论