随笔分类 -  Net设计模式实例

Net设计模式系列文章介绍了GOF 23个模式,从模式的设计理念、设计框架、框架的代码介绍了设计模式,并且每个模式配有模式实例,UML设计及其C#代码。使用的设计工具是EA:Enterprise Architect.主要参考的书籍有《Head First 设计模式》《大话设计模式》《Net与设计模式》《C# 3.0 Design Pattern》及其国外一些文章的实例,在此对这些书的作者感谢。 设计模式主要分为创建性模式( Creational Patterns)、结构性模式(Structural Patterns)、行为性模式(Behavioral Patterns)。 创建性模式( Creational Patterns)包括: 简单工厂模式(Simple Factory Pattern) 工厂方法模式(Factory Method Pattern) 抽象工厂模式(Abstract Factory Pattern) 单件模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 结构性模式(Structural Patterns)包括: 适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 组合模式(Composite Pattern) 装饰者模式(Decorator Pattern) 外观模式(Façade Pattern) 享元模式(Flyweight Pattern) 代理模式(Proxy Pattern) 行为性模式(Behavioral Patterns)包括 职责链模式(Chain Of Responsibility) 命令模式(Command Pattern) 解释器模式(Interpreter Pattern) 迭代器模式(Iterator Pattern) 中介者模式(Mediator Pattern) 备忘录模式(Memento Pattern) 观察者模式(Observer Pattern) 状态模式(State Pattern) 策略模式(Strategy Pattern) 模板方法模式(Template Method Pattern) 访问者模式(Visito
摘要:Net设计模式系列文章介绍了GOF 23个模式,从模式的设计理念、设计框架、框架的代码介绍了设计模式,并且每个模式配有模式实例,UML设计及其C#代码。使用的设计工具是EA:Enterprise Architect.主要参考的书籍有《Head First 设计模式》《大话设计模式》《Net与设计模式》《C# 3.0 Design Pattern》及其国外一些文章的实例,在此对这些书的作者感谢。 至此,Net设计模式实例系列文章已经写完,由于个人能力有限,不免有些问题阐述的不清楚或者不是非常正确,望高手指点。再此感谢 阅读全文
posted @ 2010-03-15 11:14 灵动生活 阅读(9906) 评论(11) 推荐(19) 编辑
摘要:中介者模式(Mediator Pattern),定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。中介者模式一般应用于一组对象以定义良好但是复杂的方法进行通信的场合,以及想定制一个分布在多个类中的行为,而不想生成太多的子类的场合。 阅读全文
posted @ 2010-02-09 08:53 灵动生活 阅读(4798) 评论(2) 推荐(2) 编辑
摘要:迭代器模式(Iterator Pattern),提供一种方法顺序访问一个聚合对象中元素,而不暴露改集合对象的内部表示。迭代器模式就是分离了集合对想的遍历行为,抽象出一个迭代器类来负责,这样即可以不暴露集合的内部机构,又可让外部代码透明地访问集合内部的数据 阅读全文
posted @ 2010-02-08 09:03 灵动生活 阅读(3103) 评论(6) 推荐(7) 编辑
摘要:解释器模式(Interpreter Pattern),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象的语法树时,可以考虑使用解释器模式。 阅读全文
posted @ 2010-02-02 08:51 灵动生活 阅读(3715) 评论(3) 推荐(3) 编辑
摘要:命令模式(Command Pattern)将请求封装为一个对象,从而使你用不同的请求对客户进行参数化,对请求排队或纪录请求日志,以及支持可撤销的操作。当需要有撤销或者恢复操作时,可以考虑使用命令模式. 阅读全文
posted @ 2010-01-29 09:58 灵动生活 阅读(3191) 评论(2) 推荐(3) 编辑
摘要: 访问者模式表示一个作用于某对象结构中的个元素操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作. 访问者模式的目的是要把处理从数据结构分离出来 阅读全文
posted @ 2010-01-28 09:10 灵动生活 阅读(3190) 评论(1) 推荐(2) 编辑
摘要:本文对模板方法模式设计思想、结构和结构代码进行了分析,并以一实例数据操作进一步阐述了模板方法模式的设计及其C#实现。 阅读全文
posted @ 2010-01-27 09:12 灵动生活 阅读(3087) 评论(5) 推荐(5) 编辑
摘要:状态模式(State Pattern),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。当一个对象行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,就可以考虑使用状态模式了。 阅读全文
posted @ 2010-01-26 08:50 灵动生活 阅读(4224) 评论(0) 推荐(5) 编辑
摘要:本文对备忘录模式设计思想、结构和结构代码进行了分析,并以一实例进一步阐述了备忘录模式的C#实现。当系统功能比较复杂,而且需要记录历史属性以便当需要时做恢复动作。Originator可以根据保存的Memento信息还原到前一状态。 阅读全文
posted @ 2010-01-25 09:30 灵动生活 阅读(3266) 评论(1) 推荐(1) 编辑
摘要:代理模式(Proxy Pattern)对其他对象提供一种代理以控制对这个对象的访问。代理模式分为远程代理、虚拟代理、安全代理和智能指引。 阅读全文
posted @ 2010-01-22 10:16 灵动生活 阅读(3126) 评论(1) 推荐(5) 编辑
摘要:本文对享元模式(Flyweight Pattern)的概念、设计结构图、代码、使用场景、进行了描述。以一个享元模式实例进行了说明。如果一个应用程序使用了大量的对象,而大量的这些对象造成了很大的存储开销,这时可以考虑使用享元模式。 阅读全文
posted @ 2010-01-21 10:53 灵动生活 阅读(3377) 评论(4) 推荐(2) 编辑
摘要: 外观模式,为子系统的一组接口提供一个统一的界面,此模式定义了一个高层接口,这一个高层接口使的子系统更加容易使用。 外观模式可以解决层结构分离、降低系统耦合度和为新旧系统交互提供接口功能。 阅读全文
posted @ 2010-01-20 09:52 灵动生活 阅读(3657) 评论(7) 推荐(4) 编辑
摘要:装饰模式,给一个对象动态添加额外职责,这些职责需要由用户决定加入的方式和时机。装饰模式提供了“即插即用”的方式,在运行期间决定何时增加何种功能。就增加功能来说,装饰模式比生成子类更加灵活。 阅读全文
posted @ 2010-01-19 09:14 灵动生活 阅读(3671) 评论(7) 推荐(3) 编辑
摘要:组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。解决整合与部分可以被一致对待问题。 阅读全文
posted @ 2010-01-18 09:39 灵动生活 阅读(3271) 评论(4) 推荐(5) 编辑
摘要: 本文对桥接模式(Bridge Pattern)的概念、设计结构图、代码、使用场景、聚合与合成原则以及什么是聚合/合成进行了描述。以一个桥接模式实例进行了说明。桥接模式是比较常用和简单的设计模式。当系统有多维角度分类时,而每一种分类又有可能变化,可以考虑使用桥接模式。 阅读全文
posted @ 2010-01-15 09:38 灵动生活 阅读(4392) 评论(6) 推荐(4) 编辑
摘要: 适配器模式,将一个类装换成客户期望的另外一个接口。Adapter模式统一了不兼容对象的接口,使的原本由于接口不兼容而不能工作的那些类可以一起工作。 阅读全文
posted @ 2010-01-14 16:26 灵动生活 阅读(3051) 评论(5) 推荐(3) 编辑
摘要: 本文对单例模式(Singleton Pattern)的概念及其设计结构图简单地进行了描述,同样也以一个Mail机制的LOG实例进行了说明。单例模式是比较常用,比较简单的创建型设计模式。 阅读全文
posted @ 2010-01-13 09:03 灵动生活 阅读(3837) 评论(5) 推荐(5) 编辑
摘要:本文对原型模式(Prototype Pattern)的概念、设计结构图、代码、使用场景、深复制与浅复制的区别,以及如何Net平台下实现克隆进行了描述。以一个实例进行了说明。原型模式是比较常用和简单的设计模式。 阅读全文
posted @ 2010-01-12 08:47 灵动生活 阅读(3406) 评论(17) 推荐(2) 编辑
摘要:建造者模式(Builder Pattern),将一个复杂对象的构建与它的表示分离,使的同样的构建过程可以创建不同的表示。建造者模式是在当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时适用的模式。 阅读全文
posted @ 2010-01-11 00:19 灵动生活 阅读(3994) 评论(1) 推荐(2) 编辑
摘要:抽象工厂模式(Abstract Factory Pattern),提供一个创建一系列相关或者相互依赖对象的接口,而无需制定他们的具体类。抽象工厂模式的典型应用就是,使用抽象工厂+反射+配置文件实现数据访问层程序。 阅读全文
posted @ 2010-01-08 00:30 灵动生活 阅读(5267) 评论(17) 推荐(4) 编辑