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