责任链模式

摘要: 一、定义 多个对象都有机会处理某个请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 二、UML类图 Handler:抽象处理者角色,是一个处理请求的接口或抽象类; ConcreteHandler:具体的处理者角色,具体的处理者接收到请求后可以选择将请求处理掉,或者将请求传递 阅读全文
posted @ 2023-06-06 16:07 一只向上爬的小蜗牛 阅读(36) 评论(0) 推荐(0) 编辑

观察者模式

摘要: 一、定义 多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 二、示例 下面用委托、事件, 实现观察者模式 1.Publisher.cs // 定义发布者 public class Publisher { // 声明事件 public event 阅读全文
posted @ 2023-06-06 11:15 一只向上爬的小蜗牛 阅读(16) 评论(0) 推荐(0) 编辑

状态模式

摘要: 一、定义 允许一个对象在其内部状态改变时改变它的行为,从而使对象看起来似乎修改了它的类。 二、UML类图 Context:上下文环境,定义客户程序需要的接口,并维护一个具体状态角色的实例,将与状态相关的操作委托给当前的 ConcreteState对象来处理; State:抽象状态,定义特定状态对应行 阅读全文
posted @ 2023-06-05 10:39 一只向上爬的小蜗牛 阅读(1) 评论(0) 推荐(0) 编辑

策略模式

摘要: 一、定义 定义一系列算法,把他们一个个封装起来,并且使他们可以互相替换。该模式使得算法可以独立于使用它的客户程序而变化。 二、UML类图 Context:策略上下文,持有IStrategy的引用,负责和具体的策略实现交互; IStrategy:策略接口,约束一系列具体的策略算法; ConcreteS 阅读全文
posted @ 2023-06-01 17:07 一只向上爬的小蜗牛 阅读(65) 评论(0) 推荐(0) 编辑

模板方法模式

摘要: 一、定义 定义一个操作中的算法的框架,而将一些步骤延迟到了子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。 二、实例 来一个经典的脑筋急转弯。 把一个大象装进冰箱要几个步骤? 然后把一个长颈鹿装进冰箱要几个步骤? 三、UML类图 四、钩子函数 钩子就是给子类一个授权,让子类来可重 阅读全文
posted @ 2023-06-01 11:18 一只向上爬的小蜗牛 阅读(4) 评论(0) 推荐(0) 编辑

享元模式

摘要: 一、定义 运用共享技术有效地支持大量细粒度的对象。 二、适用场景 系统会用到大量相同或相似的对象。 对象创建比较耗时。 三、目的 减少创建对象的数量。 对象全局共享。 四、UML类图 FlyweightFactory:享元工厂,用来创建并管理Flyweight对象 Flyweight:享元类的基类或 阅读全文
posted @ 2023-05-31 11:13 一只向上爬的小蜗牛 阅读(21) 评论(0) 推荐(0) 编辑

组合模式

摘要: 一、定义 将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得对单个对象和组合对象的使用具有一致性。 二、应用实例 文件系统中的文件与文件夹、Winform中的简单控件与容器控件、XML中的Node和Element等。 透明模式 透明模式是把组合使用的方法放到抽象类中,使得叶子对象和枝干 阅读全文
posted @ 2023-05-30 16:58 一只向上爬的小蜗牛 阅读(2) 评论(0) 推荐(0) 编辑

桥接模式

摘要: 一、定义 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。 UML类图 Abstraction:抽象化角色,并保存一个对实现化对象的引用。RefinedAbstraction:修正抽象化角色,改变和修正父类对抽象化的定义。Implementor:实现化角色,这个角色给出实现化角色的接 阅读全文
posted @ 2023-05-30 09:35 一只向上爬的小蜗牛 阅读(37) 评论(0) 推荐(0) 编辑

装饰器模式

摘要: 一、定义 装饰器模式动态地给一个对象增加一些额外的职责。就增加功能而言,装饰器模式比生成子类更为灵活。 二、UML类图 三、示例 需求:假设开一个奶茶店,奶茶种类繁多,如红豆奶茶,布丁奶茶,珍珠奶茶,红豆珍珠奶茶等,并根据不同配料计算价格,并且根据每个客户的要求,每种奶茶又可以加糖或者加冰,加糖加冰 阅读全文
posted @ 2023-05-29 13:33 一只向上爬的小蜗牛 阅读(11) 评论(0) 推荐(0) 编辑

外观模式

摘要: 一、定义 为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式跟代理模式类似,也更偏向于架构模式,常见于企业应用集成中,企业应用集成包括界面集成,业务流程集成(过程集成),控制集成(应用集成,API集成),数据集成四个层面,都与外观模式有 阅读全文
posted @ 2023-05-26 16:35 一只向上爬的小蜗牛 阅读(5) 评论(0) 推荐(0) 编辑