摘要:
回到首页 概述 不必改变原类文件和使用继承的情况下,动态地给一个对象添加一些额外的职责,通过创建一个包装对象,也就是装饰来包裹真实的对象就增加功能来说,装饰模式比生成子类更为灵活。 动态地扩展一个对象的功能。并且支持多个装饰器的嵌套使用。 结构图 代码 原抽象 /// <summary> /// 抽 阅读全文
posted @ 2021-11-24 22:57
.NET_CJL
阅读(47)
评论(0)
推荐(0)
摘要:
回到首页 概述 将一个类的接口转换为客户希望的另外一个接口。适配器模式使得原本由于接口不兼容二不能一起工作的那些类可以一起工作。 一般来说,适配器模式可以看作一种“补偿模式”,用来补救设计上的缺陷。应用这种模式算是“无奈之举”。如果在设计初期,我们就能协调规避接口不兼容的问题,那这种模式就没有应用的 阅读全文
posted @ 2021-11-24 22:57
.NET_CJL
阅读(40)
评论(0)
推荐(0)
摘要:
回到首页 概述 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 结构图 代码实现 产品 /// <summary> /// 抽象产品族A /// </summary> public abstract class AbstractProductA { } /// <summary> 阅读全文
posted @ 2021-11-24 22:55
.NET_CJL
阅读(44)
评论(0)
推荐(0)
摘要:
回到首页 概述 定义一个用于创建对象的接口,让之类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其之类 工厂方法模式”是对简单工厂模式的进一步抽象化,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,仅负责声明具体工厂子类必须实现的接口。 结构图 代码实现 产品 /// <summar 阅读全文
posted @ 2021-11-24 22:55
.NET_CJL
阅读(37)
评论(0)
推荐(0)
摘要:
编辑说明 回到首页 概述 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。 结构图 代码实现 传统建造者 产品类 public class 阅读全文
posted @ 2021-11-24 22:55
.NET_CJL
阅读(50)
评论(0)
推荐(0)
摘要:
回到首页 概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点 懒汉式模式 该模式的特点是类加载时没有生成单例 饿汉式模式 该模式的特点是类一旦加载就创建一个单例 结构图 代码实现 饿汉单例 单例类 /// <summary> /// 饿汉模式 /// </summary> public cl 阅读全文
posted @ 2021-11-24 22:54
.NET_CJL
阅读(63)
评论(0)
推荐(0)
摘要:
回到首页 概述 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 结构图 代码实现 中介类 /// <summary> /// 抽象中介者 /// </summary> public abstract class Medi 阅读全文
posted @ 2021-11-24 22:53
.NET_CJL
阅读(42)
评论(0)
推荐(0)
摘要:
编辑说明 回到首页 概述 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 用编译语言的方式来分析应用中的实例。 结构图 代码实现 表达式 /// <summary> /// 抽象解释器(表达式) /// </summary> public abstr 阅读全文
posted @ 2021-11-24 22:53
.NET_CJL
阅读(41)
评论(0)
推荐(0)
摘要:
回到首页 概述 享元模式的意图是复用对象,节省内存,前提是享元对象是不可变对象(一旦通过构造函数初始化完成之后,它的状态(对象的成员变量或者属性)就不会再被修改了) 可以利用享元模式将对象设计成享元,在内存中只保留一份实例,供多处代码引用。这样可以减少内存中对象的数量,起到节省内存的目的。 可以将一 阅读全文
posted @ 2021-11-24 22:52
.NET_CJL
阅读(47)
评论(0)
推荐(0)

浙公网安备 33010602011771号