随笔分类 - Design Patterns
The road to study Patterns……
深入浅出的设计模式
摘要:今天看了《深入浅出设计模式》的第一章。这篇文章读起来很轻松,而且也比较容易接受。它不象以前谈论的设计模式,感觉全是文字和代码。从头到尾看起来要晕个n回。我读的过程中往往会只看第一章,就不想再看后面的内容……《深入浅出设计模式》这本书,它的风格很象我们在处理实际问题上的讨论形式,层层引入来解释问题,没有深入,但确实达到了浅出的效果。在第一章里,一开始并不介绍设计模式,到最后才...
阅读全文
PetShop中的策略模式
摘要:Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类。 在PetShop4.0中,可以看到一个策略模式,就是如何处理同步还是异步表单的情况。当然,Stratery模式还可以扩展其他的表单处理方法。IOderStratery的代码如下: public interface IOrderStrategy { voi...
阅读全文
PetShop中的门面模式
摘要:门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。
阅读全文
PetShop中的抽象工厂
摘要:PetShop4.0是一个很好的源码学习工具,其内部提供了很多设计模式(Design Patterns)。这里介绍其中一种设计模式----抽象工厂模式在PetShop中有下列的图关系的几个对象:在WebConfig中定义了WebDAL和OrderDAL两个Keys: 当然也可以把值改成其他的,在PeeShop中可以选择SQLServerDAL和OracleDAL两种,因为其默认提供者两种。当然,...
阅读全文
ORPatterns(1):3层架构
摘要:O/R Patterns:3-tiers Layer
阅读全文
Separated Interface 与 Value Object
摘要:Separated Inferface:在一个包定义接口,而在另一个与这个包分离的包中实现这个接口。使用场景: 当需要对两个系统之间进行解藕时,可以使用Separated Interface。当并不提倡对每个类都使用Separated Interface。保持接口和实现的分离需要一些额外的工作,只有当你希望打破这种依赖关系的使用才使用它,或者同一个接口有多个实现才使用。当然,也可以把接口和实...
阅读全文
Mapper 和Layer Supertype
摘要:Mapper:在两个独立的对象(系统)之间建立通信的对象。 使用场景: Mapper主要的作用在于见系统的不同部分解耦,只有确保没有任何一方子系统依赖于子系统之间交互时,才应使用Mapper。最常用的Mapper就是数据映射器了。 与Gof模式的区别: 在隔离不同部件的用途方面,类似于Mediator(调停者)。使用调停的多个对象互相不认识,但知道Mediator的存在;而Map...
阅读全文
Gateway
摘要:Gateway:一个封装外部系统或资源访问的对象。 使用场景:当要访问外部资源时,通常要获取他们的API,而这些API可能很复杂。因为必须考虑到资源相关的许多特性。那么就可以利用Gateway来把特定的API代码封装到一个简单的类中,使其看起来象常规对象一样。 与Gof Patterns区别:[Martin Fowler] 可能大家都会认为Gateway是外观(Facade)和适配器(Adapt...
阅读全文
第一天 Patterns GetStart
摘要:设计模式,我想大家都很熟悉,然而大家熟悉的可能Gof的23Patterns。有些人甚至把它们等同起来了。其实模式就是,重复问题的重复解决方法,它是用于解决一些在相同或相似的语境中采用的相同解决方案。 去年曾把《Patters of EnterPrise Application Achitecture》(以后简写《PofEAA》)扫了一遍,几乎没有给我留下什么印象。倒是我越来越崇拜Ma...
阅读全文
浙公网安备 33010602011771号