随笔分类 - 设计模式
摘要:假如现在有这么一个需求,猫叫了一声,老鼠开始逃跑,狗大叫,主人醒来,宝宝也醒来了并且哭了起来。实现代码如下: public class Mouse { public void Run() { Console.WriteLine("老鼠开始逃跑"); } } public class Dog { pu
阅读全文
摘要:下面通过代码来模拟一个去银行查询的业务场景。代码如下: public class BankClient { /// <summary> /// 查询 /// </summary> public void Query(int id, string name, string password) { if
阅读全文
摘要:装饰器模式:就是对已经存在的某些类进行装饰,以此来扩展一些功能。下面通过现实生活中的一个示例来阐述一下装饰器模式: //煎饼的抽象 public abstract class AbstractPancake { /// <summary> /// 煎饼 /// </summary> public a
阅读全文
摘要:代理模式:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。在一些情况下,A类不想或者不能直接被引用,而代理类就可以在客户端和目标对象之间起到中介的作用。假如我们的系统中的一个业务逻辑是java写的,现在需要在这个逻辑之前加上日志记录。但是java那边又很忙没时间修改代码,那么这个场景就可以
阅读全文
摘要:假如现在一个已经上线了的项目,现在为了提高性能需要增加Redis。Redis的数据操作,第三方已经给提供了,但是他提供的数据操作接口和现在的接口不同,调用端又希望按照之前定义的接口来调用。适配器模式就是解决这类问题的。代码演示: /// <summary> /// 数据操作接口 /// </summ
阅读全文
摘要:简单工厂 简单工厂模式是属于创建型模式,又叫做静态工厂方法模式,但不属于23种设计模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例,简单工厂模式是工厂模式家族中最简单实用的模式。 代码演示: /// <summary> /// 抽象 功能 /// </summary> public i
阅读全文
摘要:单例模式是用来保证进程中,某个类只有一个实例。因为有时候某个类很占用资源,例如:数据库连接、或者是类在构造的时候很耗费资源和时间。 单例模式的实现分为两种:饿汉式和懒汉式。前者是在静态构造函数执行时就立即实例化,后者是在程序执行过程中第一次需要时再实例化。 懒汉式 /// <summary> ///
阅读全文