随笔分类 - 设计模式读书笔记
摘要:工厂方法模式工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。工厂方法模式UML结构图工厂方法模式结构代码 /// /// 声明'Product' 抽象类 /// abstract c...
阅读全文
摘要:代理模式:代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。UML结构如下图:代码实现: //定义一个Subject 抽象类 public abstract class Subject { public abstract void Request()...
阅读全文
摘要:装饰模式(Decorator):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。装饰模式结构图:装饰模式实现代码: /// /// 声明一个Component的抽象基类 /// abstract class Component { ...
阅读全文
摘要:模板方法是一种常见的设计模式,它定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。UML图:具体实现代码:namespace TemplateMethod{ class Program { static...
阅读全文
摘要:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。我们来看一下单例模式下的饿汉模式代码:...
阅读全文
摘要:策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类直接的耦合。UML 图:根据《大话设计模式》——第二章 商场促销这个案例代码来简单的记录一下策略模式的使用方式: /// ...
阅读全文
摘要:最近几日,重温了一下《大话设计模式》这本书,当时读的仓促,有很多没有注意的地方,现在仔细翻看起来,发现这值得细细品味的一本书!!好东西就要记下来!!!第一章笔记:从一个简单的计算器程序来看简单工厂模式。变化的地方就要封装,用一个单独的类来做创造实例的过程这就是工厂。UML图: /// ...
阅读全文