摘要: Builder模式主要用于以下场景:需要创建一个较复杂的大对象实例,并且构成该对象的子对象可能经常会发生变化,但是组成大对象的算法却相对稳定。比如:我们做b/s开发时,经常会遇到一些系统要求支持模板/皮肤切换,一个完整的页面由若干子模块组成,不管模板如何变换,子模块的内容/位置如何变化,但组成页面的算法即相对固定。我们假定每个页面由header,body,footer三个基本模块组成,先抽象出来:接口抽象部分Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com 阅读全文
posted @ 2010-01-19 17:41 菩提树下的杨过 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂主要用来解决多个系列的对象实例问题。问题的应用场景(来源于李建忠老师的webcast讲座):如果有一款游戏,里面有"道路,房屋,隧道,丛林"这四类基本设施,而且不同的地图(比如中国区,印度区,欧美区)这些设施的风格各有特色,比如中国区应该是中国风格,印度区可能是古典风格,欧美区可能是现代风格...并且这些基本设施的风格还有可能会一直不断增加,作为程序员/架构师,您想如何让以后的维护/升级变得更轻松,比如新增加一种风格时,最好只要改改配置,顺便发个新的dll复制到安装目录就完事,而不是把原来的类似xxx = new ChineseStyleRoad(),全部改成xxx = new New 阅读全文
posted @ 2010-01-19 13:00 菩提树下的杨过 阅读(653) 评论(0) 推荐(0) 编辑