Terry's blog

Focus on bigdata and cloud.

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  设计模式

上一页 1 2

摘要:依赖关系倒置: 动机(Motivate): 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。 如何应对这种变化?如何向“客户程序(使用这些对象的程序)"隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求改... 阅读全文
posted @ 2007-09-03 11:37 王晓成 阅读(11587) 评论(0) 推荐(0)

摘要:耦合关系: 动机(Motivation): 在软件系统中,由于需求的变化,"这个对象的具体实现"经常面临着剧烈的变化,但它却有比较稳定的接口。 如何应对这种变化呢?提供一种封装机制来隔离出"这个易变对象"的变化,从而保持系统中"其它依赖的对象"不随需求的变化而变化。 意图(Intent): 定义一个用户创建对象的接口,让子类决定实例哪一个类。Facto... 阅读全文
posted @ 2007-08-31 11:29 王晓成 阅读(16808) 评论(2) 推荐(2)

摘要:Builder模式的缘起: 假设创建游戏中的一个房屋House设施,该房屋的构建由几部分组成,且各个部分富于变化。如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正.....动机(Motivation): 在软件系统中,有时候面临一个"复杂对象"的创建工作,其通常由各个部分的子对象用一定算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合到一... 阅读全文
posted @ 2007-08-30 17:37 王晓成 阅读(19649) 评论(6) 推荐(1)

摘要:常规的对象创建方法:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--//创建一个Road对象Roadroad=newRoad();new 的问题: 实现依赖,不能应对“具体实例化类型”的变化。解决思路: 封装变化点-----哪里... 阅读全文
posted @ 2007-08-29 17:25 王晓成 阅读(26947) 评论(4) 推荐(3)

摘要:创建型模式---单件模式(Singleton Pattern)动机(Motivation): 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。 如何绕过常规的构造器,提供一种机制来保证一个类只创建一个实例? 这应该是类设计者的责任,而不是类使用者的责任。结构图: 意图: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 -... 阅读全文
posted @ 2007-08-28 17:43 王晓成 阅读(38594) 评论(5) 推荐(7)

上一页 1 2