摘要:
问题坦克根据外部环境不一样,可以分别由引擎、控制器、车轮、车身等组合构成。动机当客户程序与各子系统有过多的耦合,随着客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。如何简化客户程序和子系统间的交互接口?如何将客户程序的演化和内部的子系统的变化之间依赖相互解耦?意图为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。代码publ... 阅读全文
posted @ 2006-03-28 22:52
蝈蝈
阅读(996)
评论(0)
推荐(0)
摘要:
场景子类复子类,子类何其多假如我们需要为游戏中开发一种坦克(接口:Tank),除了各种不同型号的坦克(类:T50,T70,T90)外,我们还希望在不同场合中为其增加以下一种或多种功能,如红外线(接口:IA),水陆两栖(接口:IB),卫星定位(接口:IC)等功能。最容易想到的是继承方式得到不同型号的有不同功能的坦克。则50型号的具有红外线的坦克是T50A:T50,IA,其中T50:Tank,50型号... 阅读全文
posted @ 2006-03-28 22:49
蝈蝈
阅读(310)
评论(0)
推荐(0)
摘要:
问题在面向对象系统中,我们常会遇到一类具有“容器”特征的对象---即它们在充当对象的同时,又是其他对象的容器。动机上述描述的问题根源在于:客户代码过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化将引起客户代码的频繁变化,带来了代码的维护性、扩展性等弊端。如何将“客户代码与复杂的对象容器结构”解耦?让对象容器自己来实现自身的复杂结构,从而使得客户代码就像处理简单对象... 阅读全文
posted @ 2006-03-28 22:39
蝈蝈
阅读(397)
评论(0)
推荐(0)
浙公网安备 33010602011771号