设计模式
DeepMinder
山野草民
展开
-
合成模式-Composite Patern(转-吕震宇)
、 合成(Composite)模式合成模式有时又叫做部分-整体模式(Part-Whole)。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。从和尚的故事谈起这是小时候我奶奶讲的故事:从前有个山,山里有个庙,庙里有个老和尚在给小和尚讲故事,讲的什么故事呢?从前有个山,山里有个庙……。奶奶的故事要循环多少次,根据你多长时间睡着而原创 2007-07-08 15:53:00 · 1656 阅读 · 0 评论 -
Json.NET
Json.NET - LINQ to JSON API: http://james.newtonking.com/projects/json/help/Json.NETThe Json.NET library makes working with JavaScript and JSON formatted data in .NET simple. Quickly read翻译 2008-10-07 17:18:00 · 1609 阅读 · 0 评论 -
利用DbProviderFactory实现数据操作跨数据库数据操作类.
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.Common;using System.Configuration;using System.Collections;namespace Ths{ /**//// /// ======转载 2007-10-26 00:06:00 · 2325 阅读 · 0 评论 -
Ioc概念(又称DI:Dependency Injection)
Ioc英文为 Inversion of Control,即反转模式,这里有著名的好莱坞理论:你呆着别动,到时我会找你。后被Martin Fowler改名为 Dependency Injection 依赖注射,也就是将类之间的关系通过第三方进行注射,不需要类自己去解决调用关系。 AInterface a = new AInterfaceImp(); AInterfa转载 2007-08-07 21:10:00 · 2630 阅读 · 0 评论 -
设计模式之迭代器模式
一、 引言 迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历:Iterator it = list.iterator();while(it.hasNext()){ //using “it.next();”do some businesss logic} 而这就是关于迭代器模式应用很好的例子。 二、 定义与结构 迭转载 2007-08-02 17:06:00 · 939 阅读 · 0 评论 -
设计模式的应用场合
接口型模式 把一个类的接口与一个客户的期望接口进行适配 适配器模式(Adapter) 为类的集合提供一个简单的接口 外观模式(转载 2007-08-01 16:52:00 · 2195 阅读 · 0 评论 -
设计模式---封装变化
软件设计最大的敌人,就是应付需求不断的变化。变化有时候是无穷尽的,于是项目开发就在反复的修改、更新中无限期地延迟交付的日期。变化如悬在头顶的达摩克斯之剑,令许多软件工程专家一筹莫展。正如无法找到解决软件开发的“银弹”,要彻底将变化扼杀在摇篮之中,看来也是不可能完成的任务。那么,积极地面对“变化”,方才是可取的态度。于是,极限编程(XP)的倡导者与布道者Kent Beck提出要“拥抱变化”,从转载 2007-07-29 20:19:00 · 3370 阅读 · 0 评论 -
建造者模式-Build Patern(转-吕震宇)
一、 建造者(Builder)模式建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。对象性质的建造有些情况下,一个对象会有一些重要的性质,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出原创 2007-07-08 15:58:00 · 1465 阅读 · 0 评论 -
桥接模式-Bridge Patern(转-吕震宇)
、 桥梁(Bridge)模式桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CARP)都很有帮助。理解好这两个原则,有助于形成正确的设计思想和培养良好的设计风格。注:《Java与模式》一书认为Bridge模式不是一个使用频率很高的模式,我不太赞同,我认为Bridge模式中蕴涵了很多设计模式的关原创 2007-07-08 15:46:00 · 2033 阅读 · 0 评论 -
代理模式-Proxy Patern(转- 吕震宇)
、 代理(Proxy)模式代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,中文都可译成"代理"。所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二、 代理的种类如果按照使用目的原创 2007-07-08 15:50:00 · 1575 阅读 · 0 评论 -
享元模式-Flyweight Patern(转-吕震宇)
一、 享元(Flyweight)模式Flyweight在拳击比赛中指最轻量级,即"蝇量级",有些作者翻译为"羽量级"。这里使用"享元模式"更能反映模式的用意。享元模式以共享的方式高效地支持大量的细粒度对象。享元对象能做到共享的关键是区分内蕴状态(Internal State)和外蕴状态(External State)。内蕴状态是存储在享元对象内部并且不会随环境改变而改变。因此内蕴状态并原创 2007-07-08 15:49:00 · 1275 阅读 · 0 评论 -
原型模式-Prototype Patern(转-吕震宇)
一、 原型(Prototype)模式原型模式的用意是:通过给出一个原型对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多的同类型对象。从孙大圣的手段谈起孙悟空在与黄风怪的战斗中,"使一个身外身的手段:把毫毛揪下一把,用口嚼得粉碎,望上一喷,叫声变,变有百十个行者,都是一样得打扮,各执一根铁棒,把那怪围在空中。"换而言之,孙悟空可以根据自己的形象,复制出很多"身原创 2007-07-08 15:56:00 · 1725 阅读 · 0 评论 -
装饰模式-Decorator Patern(转-吕震宇)
一、 装饰(Decorator)模式装饰(Decorator)模式又名包装(Wrapper)模式[GOF95]。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。引言孙悟空有七十二般变化,他的每一种变化都给他带来一种附加的本领。他变成鱼儿时,就可以到水里游泳;他变成雀儿时,就可以在天上飞行。而不管悟空怎么变化,在二郎神眼里,他永远是那只猢狲。装饰模式以对客户原创 2007-07-08 15:52:00 · 1838 阅读 · 0 评论 -
每个程序员都应理解的7种坏味道,11种原则,23种模式
每个程序员都应理解的7种坏味道,11种原则,23种模式(一)7种设计坏味道1.僵化性: 很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其它改动。 2.脆弱性: 对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。 3.牢固性: 很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。 4.粘滞性: 做正确的事情比做错误的事情要困难。 5.转载 2009-02-12 11:11:00 · 1718 阅读 · 0 评论