设计模式
文章平均质量分 77
nuaalfm
这个作者很懒,什么都没留下…
展开
-
设计已死?
Martin Fowler著 Ai92译 英文原文版权由Martin Fowler拥有Original text is copyrighted by Martin Fowler Martin FowlerChief Scientist, ThoughtWorks 声明:任何人都可以在任何地方随意转载本文,但是在转载时请保持本文完整性,请不要在转载的时候做任何改动或增删。转载 2007-08-02 09:04:00 · 1108 阅读 · 0 评论 -
23种设计模式概要
Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 Builder:将一个复杂对象的构建与它的表示分离,使得同样的原创 2007-08-14 23:28:00 · 808 阅读 · 0 评论 -
封装变化
软件设计最大的敌人,就是应付需求不断的变化。变化有时候是无穷尽的,于是项目开发就在反复的修改、更新中无限期地延迟交付的日期。变化如悬在头顶的达摩克斯之剑,令许多软件工程专家一筹莫展。正如无法找到解决软件开发的“银弹”,要彻底将变化扼杀在摇篮之中,看来也是不可能完成的任务。那么,积极地面对“变化”,方才是可取的态度。于是,极限编程(XP)的倡导者与布道者Kent Beck提出要“拥抱变化”,从软转载 2007-10-04 14:50:00 · 1189 阅读 · 0 评论 -
向依赖关系宣战
依赖倒置、控制反转和依赖注入辨析作者:王咏武在《道法自然——面向对象实践指南》一书中,我们采用了一个对立统一的辩证关系来说明“模板方法”模式—— “正向依赖 vs. 依赖倒置”(参见:《道法自然》第15章[王咏武, 王咏刚 2004])。这种把“好莱坞”原则和 “依赖倒置”原则等量齐观的看法其实来自于轻量级容器PicoContainer主页上的一段话: “控制反转(Inversion转载 2007-10-09 19:01:00 · 2383 阅读 · 0 评论 -
OCP开放-封闭原则
软件实体(类,模块,函数等)应该是可扩展的,但是不可修改优点:通过扩展已有软件系统,可以提供新的行为,以满足对软件的新的需求,使变化中的软件有一定的适应性和灵活性。已有软件模块,特别是最重要的抽象层模块不能再修改,这使变化中的软件系统有一定的稳定性和延续性。下边举一个从不符合ocp到符合ocp的例子,shap示例在很多书中提到,我们这里用它来阐明ocp。不符合ocp的代码如下: clas原创 2008-01-08 10:07:00 · 1102 阅读 · 0 评论