摘要: 因为项目特别紧张,很久没有时间看书和更新博客了,就像欠了一屁股的债。很早以前(今年二月份)就跟Ron说要把这个系列翻译成中文,一直没有开始。就从它开始吧!
Ron Jeffries是一位资深的程序员。很多人都是资深程序员,但是多数人在他面前都显得太年轻了。他“has been a systems developer for more years than most of you have been alive”(他做系统开发人员的时间比大多数人的年龄都大)。
本系列(我也是边看边翻)讲述了Ron和Chet开发一个项目的详细过程。在邮件列表上有非常多的讨论,如果有可能我也会把讨论的内容贴过来。但是相信我,至少我会把这个系列翻完。
Ron Jeffries
11/28/2006
预算、简单性、TDD、跟踪。Chet和Ron使用了一个比平时运行的项目稍大一些的项目,来看看发生了什么。
阅读全文
摘要: GOF的23个模式中与Factory相关的有两个,一个是Factory Method,另一个是Abstract Factory模式。还有一个是Simple Factory,是深入浅出设计模式这本书定义的。这里面没有Factory这个模式,很多人都没有注意到这一点,混淆了Factory和Factory Method。
阅读全文
摘要: GOF巨作《Design Patterns》毫无疑问是设计模式的圣经,然而“从风格上讲,该书与其说是为学习者而写作的教程范本,还不如说是给学术界人士看的学术报告,严谨有余,生动不足。”〔孟岩〕本系列将《Design Patterns》中文版(结合英文版)中重要句子按句解析,作为自学笔记也给新接触设计模式的朋友一点借鉴。文中原文以粗体标出。我自己不明白的地方以〔TODO:〕标出,希望高手多多指点。
阅读全文
摘要: Strategy模式虽然强大,而且极其常用,但是本身没有任何神秘和高深而言。Strategy模式背后的技术就是多态,背后的思想就是封装变化。封装变化其实还隐藏了一点就是把变化的(Strategy)和不变的(Context)分离。
阅读全文
摘要: 本文首先解释了Bridge模式的定义。然后通过一个例子,一步步将Bridge模式实现。
Strategy模式是从N变化为1+N,原来有N个类但是这N个类里面只有某个算法的区别,我们把N个算法提取出来就变成了1个抽象类(不要理解成Java中的abstract class,而是这个抽象类表示一个概念)和N个实现类(同理,不要理解成对前面那个抽象类的实现,而是辅助实现抽象类的某个功能的一个继承体系)。注意这里只有一个继承体系。
而Bridge模式是从M×N变化为M+N,原来系统中有M×N个类,但是从中可以提取出N个算法(Implementor)和M个主体(Abstraction)。这样构成了两个继承体系,N个Implementor构成一个继承体系,M个Abstractor构成一个继承体系。两个继承体系可以独立的变化。
阅读全文
摘要: 技术书籍的翻译质量参差不齐,严重的影响了国内技术的传播和发展。我认为这个事件还值得继续发酵,转载此文希望引起更多人的注意。评论中有些语言我认为并不恰当,但是为了保留原作风格没有做任何修改。对于这种现象批一批是有积极意义的,但是大家一定要注意千万不要涉及人身攻击。
阅读全文