摘要:原文链接:http://www.jb51.net/article/35025.htm有一个比较好理解的例子,在这跟大家介绍下: 1.如果一个后花园只种蔬菜类,那么就用简单工厂就可以了. 2.如果后花园蔬菜品种繁多.得用工厂方法才可以,把共有的东西抽象出来. 3.如果要扩大后花园的规模,比如一个在北方,一个在南方,这样工厂方法就无法实现了,就应当用抽象工厂,把各种各样的植物,又组成一个后花园. 所以我个人认为,简单工厂是一个工厂只生产一类的产品,面对的是具体的类,工厂方法是可以生产不同的产品,把公共的方法抽象出来,然后进行创建各种各样的产品.抽象工厂把几种产品划出共同的东西,把相互依赖的对象抽象
阅读全文
摘要:作者:Terrylee,2005年12月07日原文链接:http://www.cnblogs.com/Terrylee/archive/2005/12/09/293509.html单件模式(Singleton Pattern)——.NET设计模式系列之二Terrylee,2005年12月07日概述Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。从另一个角度来说,S
阅读全文
摘要:作者: TerryLeehttp://www.cnblogs.com/Terrylee/archive/2006/10/23/Observer_Pattern.html概述在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。[GOF 《设计模式
阅读全文
摘要:原文链接:http://msdn.microsoft.com/en-us/library/ms998540.aspxNote:This content was developed in June 2003. It pre-dates ASP.NET MVC, and describes how to implement the Model-View-Controller pattern on to...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/10/23/Observer_Pattern.html 概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/09/16/Iterator_Pattern.html 概述 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/07/17/Command_Pattern.html 命令模式(Command Pattern) ——.NET设计模式系列之十七 TerryLee,2006年7月 概述 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/07/04/DesignPattern_TemplateMethod.html 摘要:Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要。 主要内容 1.概述 2.Template Method解说 3..N...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/06/01/designpattern_articles_structpattern.html ——探索设计模式系列之十五 Terrylee,2006年5月 摘要:结构型模式,顾名思义讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/05/18/403382.html 代理模式(Proxy Pattern) ——.NET设计模式系列之十四 Terrylee,2006年5月 摘要:在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要的...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/03/29/361767.html 享元模式(Flyweight Pattern) ——.NET设计模式系列之十三 Terrylee,2006年3月 摘要:面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/03/17/352349.html 外观模式(Façade Pattern) ——.NET设计模式系列之十二 Terrylee,2006年3月 概述 在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。那么如何简化...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/03/11/347919.html 组合模式(Composite Pattern) ——.NET设计模式系列之十一 Terrylee,2006年3月 概述 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/03/01/340592.html 装饰模式(Decorator Pattern) ——.NET设计模式系列之十 Terrylee,2006年3月 概述 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/02/24/336652.html 桥接模式(Bridge Pattern) ——.NET设计模式系列之九 Terrylee,2006年2月 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/02/18/333000.html 适配器模式(Adapter Pattern) ——.NET设计模式系列之八 Terrylee,2006年2月 概述 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/01/16/318285.html 创建型模式专题总结(Creational Pattern) ——.NET设计模式系列之七 Terrylee,2006年1月 概述 创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/01/16/317896.html 原型模式(Prototype Pattern) ——.NET设计模式系列之六 Terrylee,2006年1月 概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2006/01/04/310716.html 工厂方法模式(Factory Method) ——.NET设计模式系列之五 Terrylee,2004年1月2日 概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有...
阅读全文
摘要:作者:TerryLee 原文链接:http://www.cnblogs.com/Terrylee/archive/2005/12/19/299878.html 建造者模式(Builder Pattern) ——.NET设计模式系列之四 Terrylee,2005年12月17日 概述 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,...
阅读全文