
设计模式
文章平均质量分 94
心受伤易碎
小白,多多指教。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C# 设计模式(十一)代理模式
1.为什么使用代理模式 在某些不能或者不方便直接调用对象时候,代理对象就是访问者和对象之间的中介。 2.代理模式的实现 实现要素: 抽象主题 具体主题 代理对象 代码实现 /// <summary> /// 抽象主题 /// </summary> public interface ISubject { void DoSomething(); List<string> GetSomething原创 2020-07-13 14:20:11 · 134 阅读 · 0 评论 -
C# 设计模式(十)外观模式
外观模式应该算比较简单的一种,就是将比较复杂的业务逻辑封装一层,使得上层调用方便,不在意业务细节。原创 2020-07-13 14:19:11 · 139 阅读 · 0 评论 -
C# 设计模式(九)装饰者模式
1.为什么要使用装饰者模式 首先实现一个学生学习的功能,实例化一个学生对象,然后调用学生的学习方法, 现在有新的需求,学生学习前需要预习课程,学习后需要复习课程,老师答疑。 要求:在不改动原有封装的前提下实现以上功能。 在这种情况下,就得使用AOP(面向切面编程)编程思想, 我们就用 继承+组合 装饰者模式来实现AOP 2.装饰者模式的实现 实现要素: 抽象装饰对象 具体装饰对象 抽象装饰器 具体装饰器 代码实现 /// <summary> /// 抽象学生原创 2020-07-09 11:54:33 · 151 阅读 · 0 评论 -
C# 设计模式(八)组合模式
1.为什么要使用组合模式 某些对象可以组合成树状层次的结构,采用组合模式,使用户对单个对象和组合对象具有一致的访问性。 * 假如李先生到韶关“天街e角”生活用品店购物,用 1 个红色小袋子装了 2 包婺源特产(单价 7.9 元)、 * 1 张婺源地图(单价 9.9 元); * 用 1 个白色小袋子装了 2 包韶关香蕉(单价 68 元)和 3 包韶关红茶(单价 180 元); * 用 1 个中袋子装了前面的红色小袋子和 1 个景德镇瓷器(单价 380 元); * 用 1 个大袋子装了前面的中袋子、原创 2020-07-09 11:53:08 · 733 阅读 · 0 评论 -
C# 设计模式(六)适配器模式
1.为什么要用适配器模式 在引入不可修改的第三方类库,并且需要适配原有的接口时,就需要使用适配配器模式。 2.适配器模式的实现 实现要素: 目标接口 适配者 适配器 现有接口 IHelper /// <summary> /// 需要适配的接口,不可修改 /// </summary> public interface IHelper { void Add(); void Update();原创 2020-07-08 10:28:59 · 160 阅读 · 0 评论 -
C# 设计模式(五)建造者模式
1.为什么要用建造者模式 创建型设计模式主要是将对象的创建交给第三方,上层不关心对象创建的细节。建造者模式用于对象创建十分复杂的情况,或者在创建对象的时候必须同时创建一些必须的部件,比如:电脑的CPU,显示器,键盘,鼠标这些都是必不可少的。创建过程比较复杂。 2.建造者模式的实现 实现要素: 具体产品类 抽象建造类 具体建造类 指挥类/组装类 代码实现: /// <summary> /// 抽象建造类 /// </summary> publi原创 2020-07-07 16:45:09 · 106 阅读 · 0 评论 -
C# 设计模式(四)抽象工厂
1.为什么要用抽象工厂 前面介绍的工厂方法适用于工厂生产统一种类的产品,抽象工厂则适用于工厂生产一个产品簇,比如手机工厂会生成手机、耳机、等等。 2.抽象工厂实现 实现要素: 抽象产品 具体产品 抽象工厂 具体工厂 代码实现如下: /// <summary> /// 抽象工厂 /// </summary> public interface IFactory { IPhone CreatePhone();原创 2020-07-07 12:22:23 · 150 阅读 · 0 评论 -
C# 设计模式(三)工厂方法
1.为什么要用工厂方法模式 为了遵循单一职责原则,避免简单工厂中职责过多倒置工厂不稳定,在简单工厂的基础上升级为工厂方法。 2.工厂方法实现 实现要素: 抽象产品 具体产品 抽象工厂 具体工厂 代码实现如下: 产品代码不列出,只列出工厂代码 /// <summary> /// 抽象工厂 /// </summary> public interface IFactory { IPhone CreateInstance(); } /// <sum...原创 2020-07-03 11:25:28 · 120 阅读 · 0 评论 -
C# 设计模式(二)简单工厂
1.为什么要用工厂模式 为了遵循依赖倒置原则:上层模块不应该依赖下层模块,二者应该通过抽象来依赖,即依赖抽象,不依赖细节。 2.工厂模式实现 2.1简单工厂模式 简单工厂:创建一个工厂来实例化类,没有消除依赖,只是转移了依赖,并集中了依赖。(简单工厂不属于23中设计模式,因为太简单了?) 实现代码如下: public class PhoneFactory { public static IPhone CreateInstance(PhoneType phoneType)原创 2020-07-03 09:37:30 · 141 阅读 · 0 评论 -
C# 设计模式(一)单例模式
单例模式的定义 单例模式:顾名思义一个类只存在一个实例。有一下三个特点: 该类只有一个实例 该类必须能创建一个静态实例 该类必须能向其他对象提供这个实例 单例模式的实现 单例模式的实现主要有两种方式: 懒汉模式 该模式的优点是:在类加载时不会生成实例,只有在第一次调用LGetInstance()生成实例。 /// <summary> //...原创 2019-05-10 11:57:44 · 112 阅读 · 0 评论