文档介绍:软件设计模式终极版复****计划题
软件设计模式终极版复****计划题
1/6
软件设计模式终极版复****计划题
简述“开—闭”原则的基本思想。请举出一个使用了软件“开—闭”原则的软件设计
模式,其中哪处体现了“开—闭”原则。
版复****计划题
实例:计算机和立体组合音响这样的设备经常被组装成一部分整体层次结构也许是容器层次结构,比方:底盘可以包含驱动装置和平面板,总线含有多个插件,机柜包括底盘、总
软件设计模式终极版复****计划题
软件设计模式终极版复****计划题
6/6
软件设计模式终极版复****计划题
Equipment的子类。
线等。这样结构很自然的用composite模式进行模拟。
Equipment类为在部分——整体层次结构中的所有设备定义一个接口。Equipment声明一
些操作返回一个设备的属性,比方它的能是消耗和价格。子类为指定的设备实现了这些操作,
Equipment还声了然一个CreateIterator操作,该操作为接见它的零件返回一个Iterator,
这个操作的缺省实现返回一上NullIterator,它在空集上迭代。
CompositeEquipment是包含其余设备的基类,它也是
简述门面模式(Facade)和中介者模式(Mediator)的基本思想,两者的差别何在?答:门面模式(facade)又称外观模式。基本思想:为子系统中的一组接口提供一个一
致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
“中介者模式”基本思想:MediatorPattern中文译为“中介者模式”、“调停者模式”。调停者模式的定义是:用一个调停对象来封装一系列的对象交互。调停者使各对象不需要显
式地相互引用,进而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用也许依赖的对象拆开,在中间加入一个“调停”对象,使得两头的对象分别和“调停”对象引用也许依赖。
两者的差别:从目的上看,调停者模式与门面模式有些相似。但是门面模式是介于客户程序与子系统之间的,而调停者模式是介于子系统与子系统之间的。这也注定了它们有很
大的区别:门面模式是将原有的复杂逻辑提取到一个统一的接口,简化客户对逻辑的使用。它是被客户所感知的,而原有的复杂逻辑则被隐藏了起来。而调停者模式的加入并没有改变客户原有的使用****惯,它是隐藏在原有逻辑后边的,使得代码逻辑更加清晰可用。
简述察看者模式的基本思想,怎样实现当目标对象发生变化时多个察看者对象的同步更新?画出他们之间的协作图。
(1)Observer(察看者)基本思想:对象间的一种一对多的依赖关系。当一个对象的状
态发生变化时,所有依赖于它的对象都获得通知并自动更新。
(2)协作:当ConcreteSubject发生任何可能导到其参观者与其本身状态不一致的改
变时,它将通知它的各个察看者。在获得一个详尽的目标改变通知后,ConcreteObject对象可向目标对象盘问信息,Co