摘要:
using System;using System.Text;using System.Collections.Generic;namespace 观察者模式{ /* * 观察者模式意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。 * 观察者模式实现要点:1、需要在状态对象通知者建立容器,管理被通知对象 * 2、实现对容器进行管理 * 3、实现核心的更新方法 * ... 阅读全文
摘要:
using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace 访问者模式{ /* * 访问模式意图:表示一个作用于某对象结构中的各个元素的操作。它可以在不改变各元素的类的前提下定义作用于这些元素的新的操作。 * * 访问模式实现要点:1、通过一个稳定的管理容器管理所要访问的元素 * * 访问者模式适用场景:1、当有一个效果上的密封类层次 * ... 阅读全文
摘要:
using System;using System.Text;using System.Collections.Generic;using System.Collections;namespace 迭代模式{ /* * 迭代模式意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。 * * 迭代模式实现要点:1、迭代抽象:访问一个聚合对象的内容而无需暴露它的内部表示。 * 2、迭代多态:为遍历不同的集合结构提供一个统一的接口,从而支持同样的算法在不同的集合结构上进行 * ... 阅读全文
摘要:
using System;using System.Text;using System.Collections.Generic;namespace 策略模式{ /* * 策略模式意图:定义一系列算法,把它们一个个封装起来,并且使它们可互相替换。该模式使得算法可独立于使用它的客户而变化。 * * 策略模式实现要点:1、策略调用类中一般会包含一条或几条if或switch 语句,在这些语句中实现具体策略的调用 * 2、使用扩展方法,可以直接定义新的策略,而不依赖原来所支持的类 * ... 阅读全文
摘要:
using System;using System.Text;using System.Collections.Generic;namespace 备忘录模式{ /* * 备忘录模式意图:用一个中介者对象将一些列对象交互封装,从而降低这些对象间的耦合性并且可以独立地改变对象间的交互关系 */ ///<summary> /// ///</summary>publicclass Originator { privatestring state; publicstring State { ... 阅读全文