2009年2月5日
摘要: .NET设计模式(19):观察者模式(Observer Pattern) 概述在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。... 阅读全文
posted @ 2009-02-05 13:41 yhb199 阅读(228) 评论(0) 推荐(0)
摘要: .NET设计模式(18):迭代器模式(Iterator Pattern) 概述在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就... 阅读全文
posted @ 2009-02-05 13:38 yhb199 阅读(153) 评论(0) 推荐(0)
摘要: .NET设计模式(17):命令模式(Command Pattern) 命令模式(Command Pattern)——.NET设计模式系列之十七TerryLee,2006年7月概述在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”... 阅读全文
posted @ 2009-02-05 13:36 yhb199 阅读(194) 评论(0) 推荐(0)
摘要: .NET设计模式(16):模版方法(Template Method) 摘要:Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要。主要内容1.概述2.Template Method解说3..NET中的Template Method模式4.适用性及实现要点概述变化一直以来都是软件设计的永恒话题,在XP编程中提倡拥抱变化,积极应对。如何更好的去... 阅读全文
posted @ 2009-02-05 13:13 yhb199 阅读(159) 评论(0) 推荐(0)
摘要: .NET设计模式(15):结构型模式专题总结 ——探索设计模式系列之十五Terrylee,2006年5月摘要:结构型模式,顾名思义讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象,从而实现新的功能(对象结构型模式)。这些结构型模式,它们在某些方面具有很大的相似性,仔细推敲,侧重点却各有不同。本文试图对这几种结构型模式做一个简单的小结。主要内容1.结构型模... 阅读全文
posted @ 2009-02-05 13:12 yhb199 阅读(208) 评论(0) 推荐(0)
摘要: .NET设计模式(12):外观模式(Façade Pattern) 外观模式(Façade Pattern)——.NET设计模式系列之十二Terrylee,2006年3月概述在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?这就... 阅读全文
posted @ 2009-02-05 13:11 yhb199 阅读(192) 评论(0) 推荐(0)
摘要: .NET设计模式(13):享元模式(Flyweight Pattern) 享元模式(Flyweight Pattern)——.NET设计模式系列之十三Terrylee,2006年3月摘要:面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价。那么我们如何去避免大量细粒度的对象,同时又不影响客户程序使用面向对象的方式进行操... 阅读全文
posted @ 2009-02-05 13:07 yhb199 阅读(178) 评论(0) 推荐(0)
摘要: .NET设计模式(11):组合模式(Composite Pattern) 组合模式(Composite Pattern)——.NET设计模式系列之十一Terrylee,2006年3月概述组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。意图将对象组合成树形结构以表示&... 阅读全文
posted @ 2009-02-05 12:01 yhb199 阅读(310) 评论(0) 推荐(1)
摘要: .NET设计模式(10):装饰模式(Decorator Pattern) 装饰模式(Decorator Pattern)——.NET设计模式系列之十Terrylee,2006年3月概述在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使&#... 阅读全文
posted @ 2009-02-05 12:00 yhb199 阅读(185) 评论(0) 推荐(0)
摘要: .NET设计模式(9):桥接模式(Bridge Pattern) 桥接模式(Bridge Pattern)——.NET设计模式系列之九Terrylee,2006年2月概述在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bri... 阅读全文
posted @ 2009-02-05 11:59 yhb199 阅读(186) 评论(0) 推荐(0)
摘要: .NET设计模式(8):适配器模式(Adapter Pattern) 适配器模式(Adapter Pattern)——.NET设计模式系列之八Terrylee,2006年2月概述在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现... 阅读全文
posted @ 2009-02-05 11:58 yhb199 阅读(151) 评论(0) 推荐(0)
摘要: .NET设计模式(7):创建型模式专题总结(Creational Pattern) 创建型模式专题总结(Creational Pattern) ——.NET设计模式系列之七 Terrylee,2006年1月 概述 创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来... 阅读全文
posted @ 2009-02-05 11:55 yhb199 阅读(123) 评论(0) 推荐(0)
摘要: .NET设计模式(6):原型模式(Prototype Pattern) 原型模式(Prototype Pattern) ——.NET设计模式系列之六 Terrylee,2006年1月 概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化... 阅读全文
posted @ 2009-02-05 11:54 yhb199 阅读(144) 评论(0) 推荐(0)
摘要: .NET设计模式(5):工厂方法模式(Factory Method) 工厂方法模式(Factory Method) ——.NET设计模式系列之五 Terrylee,2004年1月2日 概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,... 阅读全文
posted @ 2009-02-05 11:52 yhb199 阅读(183) 评论(0) 推荐(0)
摘要: .NET设计模式(4):建造者模式(Builder Pattern) 建造者模式(Builder Pattern) ——.NET设计模式系列之四 Terrylee,2005年12月17日 概述 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。... 阅读全文
posted @ 2009-02-05 11:48 yhb199 阅读(258) 评论(0) 推荐(0)
摘要: .NET设计模式(3):抽象工厂模式(Abstract Factory) 抽象工厂模式(Abstract Factory) ——探索设计模式系列之三 Terrylee,2005年12月12日 概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”... 阅读全文
posted @ 2009-02-05 11:45 yhb199 阅读(231) 评论(0) 推荐(0)
摘要: .NET设计模式开篇 ——.NET设计模式系列之一 Terrylee,2005年12月06日 前言 加入Design & Pattern团队有几个月的时间了,惭愧的是从没有写过关于设计模式的随笔,得到wayfarer的同意,把企业库系列的随笔放在了团队的首页上。不是不想去写这样的随笔,也不是没有时间,自己初学设计模式,去写设计模式的文章,有点班门弄斧的味道。园子里吕震宇老师的《设计模式系列》和... 阅读全文
posted @ 2009-02-05 11:43 yhb199 阅读(142) 评论(0) 推荐(0)
摘要: .NET设计模式(2):单件模式(Singleton Pattern) 单件模式(Singleton Pattern) ——.NET设计模式系列之二 Terrylee,2005年12月07日 概述 Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它... 阅读全文
posted @ 2009-02-05 10:43 yhb199 阅读(119) 评论(0) 推荐(0)
摘要: .NET设计模式系列文章 最初写探索设计模式系列的时候,我只是想把它作为自己学习设计模式的读书笔记来写,可是写到今天,设计模式带给我的震撼,以及许多初学者朋友的热心支持,让我下定决心要把这个系列写完写好,那怕花上再多的时间也无所谓。本部分内容不断更新中。 目录计划: 第Ⅰ部分 开篇 开篇 第Ⅱ部分 创建型模式篇 第1章 单件模式(Single Pattern) 第2章 抽象工厂模式(Abstract Factory) 第3章 建造者模式(Builder Pattern) 第4章 工厂方法(Factory Method) 第5章 原型模式(Protype Pattern) 第6章 创建型模式专题总结 第Ⅲ部分 结构型模式篇 第7章 适配器模式(Adapter Pattern) 第8章 桥接模式(Bridge Pattern) 第9章 装饰模式(Decorator Pattern) 第10章 组合模式(Composite Pattern) 第11章 外观模式(Façade Pattern) 阅读全文
posted @ 2009-02-05 10:16 yhb199 阅读(170) 评论(0) 推荐(0)