- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
.填空题(30)
行为型模式分为类行为型模式和对象行为型模式两种。第一种行为型模式使用继承关系在几个类之间分配行为,第二种行为型模式使用对象的聚合关联关系分配行为;根据合成复用原则,系统中要尽量使用关联关系取代继承关系。因此,大部分行为型设计模式都属于对象行为型模式。
创建型模式对对象的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用进行了分离,为了使软件的结构更加清晰,外界对这些对象只需要知道其公共接口,而不需要清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。
观察者模式描述了如何建立对象与对象之间的依赖关系,如何构造满足这种需求的系统。这一模式的关键对象是观察目标和观察者,一个目标可以有任意数目的与之相依赖的观察者,一旦目标的状态发生改变,所有的观察者都将得到通知。作为对这个通知的响应,每个观察者都将及时更新自己的状态,以与目标同步。这种交互也称为发布-订阅(Publish/Subscribe),目标是通知的发布者,它发布通知时并不需要知道谁是它的观察者,可以有任意数目的观察者订阅并接收通知。
在一个纯的职责链模式里面,一个请求必须被某一个处理者对象所接收,在一个不纯的职责链模式里面,一个请求可以最终不被任何接收端对象所接受。
中介者模式的优点是:简化了对象之间的交互,将各同事解耦,减少子类生成,可以简化各同事类的设计和实现。
行为型模式包括:职责链模式(Responsibility),命令模式(Command),解释器模式(Interpreter),迭代器模式(Interator),中介者模式(Mediator),备忘录模式(Mementor),观察者模式(Obsetver),状态模式(State),策略模式(Strategy),模板方法模式(TemplateMethood),访问者模式(Visitor)。
二.简答题(30)
请叙述设计模式的定义,基本要素和关键要素。
定义:设计模式是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被人理解、保证代码可靠性;
设计模式一般有如下几个要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式;
其中,关键要素包括以下四个方面:模式名称、问题解决方案和效果。
请解释纯和不纯职责链。
一个纯的职责链模式,要求一个具体处理者对象只能在两个行为中选择一个:一个是承担责任、另一个是把责任推给下家,不允许出现某一个具体处理者对象,在承担了一部分责任后,又将责任像下传的情况,在一个纯的职责链模式里面,一个请求必须被某一个处理者对象所接受,在一个不纯的职责链模式里面,一个请求可以最终不被任何接受端对象所接受。适合
列举三个以上适合职责链模式的情况。
职责链模式的情况有:
有多个对象可以处理同一个请求,具体哪个对象处理该请求,由运行时刻自动决定;
在不明确指定接受者的情况下,向多个对象中的一个提交一个请求;
可动态指定一组对象处理请求。
简述简单工厂模式的优点。
实现了对责任的分割,它提供了专门的工厂类用于创建对象。
客户端无须知道所创建的具体产品类的类名,只需要知道具体产品类所对应的参数即可,对于一些复杂的类名,通过简单工厂模式可以减少使用者的记忆量。
通过引入配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品
类。
解释观察者模式的动机。
建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。
解释享元模式的定义和优点。
定义:运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。
优点:
(1) 它可以极大减少内存中对象的数量,使得相同对象或相似对象在内存中只保存一份。
(2) 享元模式的外部状态相对独立,而且不会影响其内部状态,从而使得享元对象可以在不同的环境中被共享。
二.综合题(17)
常用的面向对象设计原则包括七个,这些原则不是孤立存在的,它们相互依赖、相互补充,请用表格表示该七个原则的内涵,并说明其重要性。
设计原则名称
设计原则简介
重要性
单一职责原则
(Single
Responsibility
Principle,SRP)
类的职责要单一,不能将太多的职责放在一个类中
★★★★☆
开闭原则
(Open
文档评论(0)