上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 问题的引入: 假如我们需要为游戏开发一种坦克,除了各种不同型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视功能,水陆双栖功能,卫星定位功能等等。 通过子类继承发现代码冗余太严重 动机(Motivation) 上述描述的问题根源在于我们“过度的使用了继承来扩展对象的功能” 阅读全文
posted @ 2016-11-07 17:15 朴树的扑 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 对象容器的问题: 在面向对象系统中,我们常会遇到一类具有“容器”特征的对象--即它们在充当对象的同时,又是其他对象的容器。 动机(Motivation) 上述描述的问题根源在于:客户代码过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化将引起客户代码的频繁变化,带来了 阅读全文
posted @ 2016-11-07 12:51 朴树的扑 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 引入问题: 假如我们需要开发一个同事支持PC和手机的坦克游戏,游戏在PC和手机上功能都一样,都有同样的类型,面临同样的功能需求变化,比如坦克可能有多种不同的型号:T50,T75,T90... 但是PC和手机上的图形绘制、声效、操作等实现完全不同...因此对于各种型号的坦克,都要提供不同平台上的坦克实 阅读全文
posted @ 2016-11-07 10:23 朴树的扑 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 动机(Motivation) 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是环境要求的接口是这些现存对象不满足的。 如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口? 意图(Intent) 将一个类的接口转换成客 阅读全文
posted @ 2016-11-06 21:34 朴树的扑 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 依赖关系的倒置 抽象不应该依赖与实现细节,实现细节应该依赖与抽象。 -抽象A直接依赖与实现细节b -抽象A依赖与抽象B,实现细节b依赖与抽象B 动机(Motivation) 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定 阅读全文
posted @ 2016-11-06 15:10 朴树的扑 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 动机(Motivation) 在系统中,经常面临着“某个对象”的创建工作;由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。 如何应对这种变化?如何提供一种“封装机制”来隔离出“这个易变对象”的变化,从而保持系统中“其他依赖该对象的对象”不随着需求改变而改变? 意图 阅读全文
posted @ 2016-11-06 10:41 朴树的扑 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 动机(Motivation) 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将他们组合在一起的算法却相对稳定。 如何应对这种变化》如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的 阅读全文
posted @ 2016-11-05 22:30 朴树的扑 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 动机(Motivation) 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列的对象的创建工作。 如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合? 意图(Intene 阅读全文
posted @ 2016-11-05 17:07 朴树的扑 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 动机(Motivation) 在软件系统中,经常有这样一些特殊的类,必须保证他们在系统中只存在一个实例,才能确保他们的逻辑正确性、以及良好的效率。 如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例? 这应该是设计者的责任,而不是使用者的责任。 意图(Intent) 保证一个类仅有一个实例, 阅读全文
posted @ 2016-11-05 09:36 朴树的扑 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 设计模式简介: 每个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 Christopher Alexander 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。 面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。 设计 阅读全文
posted @ 2016-11-04 16:51 朴树的扑 阅读(410) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页