设计模式
设计模式相关介绍
深夜代码
互联网产品改变世界,产品经理改变产品,程序员创造世界,测试拯救世界
展开
-
访问者模式
以下单为例:UML图:代码实现: public interface IPrice { /// <summary> /// 游客价格 /// </summary> /// <param name="user"></param> /// <retu...原创 2019-07-12 17:02:37 · 183 阅读 · 0 评论 -
解释器模式
以暗号翻译为例:UML图:代码实现: public class Context { public string HandleText { get; set; } } public abstract class BaseTextHandle { protected Dictionary<char, string>...原创 2019-07-11 19:42:52 · 172 阅读 · 0 评论 -
享元模式
以模拟连接池为例:UML图:代码实现:public abstract class BaseLink { /// <summary> /// 连接Id /// </summary> public string LinkId { get; set; } /// <sum...原创 2019-07-08 19:56:19 · 192 阅读 · 0 评论 -
中介者模式
以推送消息为例:UML图:代码实现: public abstract class BaseMessager { public string Name { get; set; } public abstract void SendMessage(string message, BaseMessager messageTo); ...原创 2019-07-08 15:29:55 · 163 阅读 · 0 评论 -
责任链模式
以订单优惠结算金额为例:UML图:代码实现:/// <summary> /// 降价请求 /// </summary> public class CutPriceRequest { public int Count { get; set; } //商品数 public decimal Price...原创 2019-07-05 18:21:33 · 202 阅读 · 0 评论 -
命令模式
以创建订单为例:UML图:代码实现: public class CreateOrderService { public void CreateOrder() { Console.WriteLine("创建订单"); } } public abstract class BaseCommand...原创 2019-07-03 09:29:56 · 179 阅读 · 0 评论 -
桥接模式
以自定义迭代器为例:UML图:代码实现:public abstract class BasePhone { private PhoneSystem _phoneSystem = null; public BasePhone(PhoneSystem phoneSystem) { _phoneSystem =...原创 2019-06-20 14:21:58 · 154 阅读 · 0 评论 -
迭代器模式
以自定义迭代器为例:UML图:代码实现: public interface IMyEnumerator<T> { // // 摘要: // 获取集合中位于枚举数当前位置的元素。 // // 返回结果: // 集合中位于枚举数当前位置的元素。 ...原创 2019-06-12 15:06:46 · 148 阅读 · 0 评论 -
组合模式
以OA人员管理为例:UML图:代码实现: public abstract class BasePeople { protected string Name { set; get; } public BasePeople(string name) { this.Name = name; }...原创 2019-06-12 11:34:41 · 174 阅读 · 0 评论 -
备忘录模式
以游戏备份为例:UML图:代码实现:/// <summary> /// 游戏进度 /// </summary> public class GameProgress { /// <summary> /// 角色 /// </summary> p...原创 2019-06-12 10:13:39 · 195 阅读 · 0 评论 -
适配器模式
以数据保存的帮助类为例:UML图:代码实现: /// <summary> /// 数据访问接口 /// </summary> public interface IDataHelper { void Add<T>(); void Delete<T>(); vo...原创 2019-06-10 16:14:08 · 142 阅读 · 0 评论 -
状态模式
以订单状态为例【待支付、取消、待发货、待收货、已结束】UML图:代码实现:public abstract class BaseState { /// <summary> /// 订单状态 /// </summary> public OrderStateEnum CurrentState {...原创 2019-06-10 11:59:03 · 129 阅读 · 0 评论 -
抽象工厂模式
以双数据库的增删改查为例UML图:代码实现: public interface IUser { void Insert(); void Update(); } public class UserAccessServerOperate : IUser { const string dbName = "Acce...原创 2019-06-05 20:00:03 · 175 阅读 · 0 评论 -
观察者模式
以玩游戏完成主线、副本任务为例UML图:代码实现:public class PlayGame { public delegate void EventHander(); public event EventHander EndNoticeEvent;//声明一个游戏结束通知事件 /// <summary> ...原创 2019-06-05 09:54:28 · 153 阅读 · 0 评论 -
建造者模式
以装修房子为例UML图:代码实现: /// <summary> /// 装修房子 /// </summary> public abstract class BaseDecorateHouse { protected StructUpdate _StructUpdate = null; protec...原创 2019-05-31 17:07:55 · 135 阅读 · 0 评论 -
外观模式
以三层架构为例UML图代码实现public class FacadeService { /// <summary> /// 查询学生列表 /// </summary> /// <returns></returns> public List<strin...原创 2019-05-30 15:26:27 · 136 阅读 · 0 评论 -
模板方法模式
以多种会员下单为例UML图:代码实现: /// <summary> /// 创建订单模板 /// </summary> public abstract class BaseCreateOrder { public abstract bool CheckParameters(decimal price, i...原创 2019-05-29 12:00:22 · 156 阅读 · 0 评论 -
单例模式
UML图:代码实现:/// <summary> /// 标准单例 /// </summary> public class Singleton { private Singleton() { } static Singleton _singleton = null;...原创 2019-05-28 16:41:32 · 104 阅读 · 0 评论 -
原型模式
以记录操作日志为例UML图:代码实现:浅克隆&深克隆public class StudentInfo : ICloneable { public int Id { set; get; } public string Name { set; get; } public int Age { set; get; } ...原创 2019-05-28 16:00:55 · 147 阅读 · 0 评论 -
工厂模式
以支付为例UML图:代码实现: public interface IFactory { /// <summary> /// 创建对象 /// </summary> /// <returns></returns> IPay CreateInterfac...原创 2019-05-27 18:06:13 · 126 阅读 · 0 评论 -
代理模式
以黄牛买票为例UML图:代码实现:public interface IPayTicket { /// <summary> /// 买票 /// </summary> /// <returns></returns> bool BuyTicket();...原创 2019-05-17 14:31:52 · 161 阅读 · 0 评论 -
装饰器模式
简易版的AOP实现为例UML图:代码实现:public class BaseService { /// <summary> /// 方法执行 /// </summary> /// <param name="action">需要执行的方法委托</param> ...原创 2019-05-14 18:14:11 · 163 阅读 · 0 评论 -
策略模式
以销售营销为例UML图:代码实现:public class Context { private BaseSell objBaseSell; public Context(SellType sellType) { this.objBaseSell = CreateSellFactory(sellType)...原创 2019-05-08 17:24:23 · 165 阅读 · 0 评论 -
简单工厂模式
以支付为例UML图:代码实现:public class FactoryService { /// <summary> /// 创建对象 /// </summary> /// <param name="typeEnum">支付类型</param> //...原创 2019-05-07 17:20:52 · 137 阅读 · 0 评论