设计模式题库

设计模式题库

ID:40313402

大小:66.00 KB

页数:6页

时间:2019-07-30

设计模式题库_第1页
设计模式题库_第2页
设计模式题库_第3页
设计模式题库_第4页
设计模式题库_第5页
资源描述:

《设计模式题库》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.1(D)以用户的观点表示系统的目标,它是所有视图的核心,该视图描述系统的需求。A结构视图B行为视图C实现视图D用户视图E环境视图F物理视图G逻辑视图1.2类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同(ABC)的对象集合的总称。A属性B操作C关系D约束E继承F多态G封装2.1面向对象设计原则首先都是(B)的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。A重载B复用C面向对象D封装E继承F多态G抽象2.2以下说法错误的有(BDH)A对于面向对象的软件系统设计来说,在支持可维护性的同时,需要提高系统的可复用性。B迪

2、米特法则要求一个软件实体应当尽可能多的与其他实体发生相互作用。C单一职责原则要求在软件系统中,一个类只负责一个功能领域中的相应职责。D开闭原则要求一个软件实体应当对扩展开放,对修改关闭,但是为了增强系统功能,可以随便的修改源代码。E里氏代换原则可以通俗表述为在软件中如果能够使用基类对象,那么一定能够使用其子类对象。F依赖倒转原则要求抽象不应该依赖于细节,细节应该依赖于抽象;要针对接口编程,不要针对实现编程。G接口隔离原则要求客户端不应该依赖那些它不需要的接口,即将一些大的接口细化成一些小的接口供客户端使用。H合成复用原则要求复用时尽量使用继承,而不使用对象组合。3.1

3、结构型模式分为类模式和对象模式,以下可以是类模式的是(A)A适配器模式B桥接模式C组合模式D装饰模式E外观模式F享元模式G代理模式3.2设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面(ABDE)A模式名称B问题C目的D解决方案E效果F实例代码G相关设计模式4.1以下关于简单工厂模式叙述错误的是(A)A它属于GoF23种设计模式B它是最简单的设计模式之一C它是学习其他创建型模式的基础D它只需要记住一个简单的参数即可获得所需对象的实例E它类中的方法通常为静态方法F它返回的类都有一个公共的父类和公

4、共的方法4.2简单工厂模式包含三个角色是(ABC)A工厂角色B抽象产品口C具体产品角色D抽象接口角色E生产者角色F用户角色G使用者角色5.1Java中的(A)是指在程序运行时获取已知名称的类或已有对象的相关信息的一种机制,包括类的方法、属性、超类等信息,还包括实例的创建和实例类型的判断等A反射B继承C多态D组合E聚合F抽象G抽象5.2工厂方法模式与简单工厂模式相比的优点有(ABCD)A工厂方法模式很好的符合开闭原则B工厂方法类模式中工厂类职责变轻,业务逻辑相对简单C具体产品与工厂类之间的耦合降低D工厂方法模式是简单工厂模式的进一步抽象和推广EFactory类内的方法常

5、使用静态方法F只提供一个工厂类G不需要考虑对象的具体创建细节6.1现有5个产品族,分布于3各不同的产品等级结构,只要指明一个产品所处的产品族以及它所在的等级结构,就可以唯一地确认这个产品。那么使用抽象工厂方法模式只需要提供(A)个具体工厂即可。A5B3C8D15E1F30G46.2抽象工厂模式的优点有(A)A抽象工厂模式隔离了具体类的生成,使得客户并不需要知道什么被创建。B所有的具体工厂都实现了抽象工厂中定义的那些公共接口,因此只需改变具体工厂的实例,就可以在某种程度上改变整个软件系统的行为。C应用抽象工厂模式可以实现高内聚低耦合的设计目的,因此抽象工厂模式得到了广泛

6、的应用。D增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。E添加新的产品对象时,难以扩展抽象工厂来生产新种类的产品F开闭原则的倾斜性(增加新的工厂和产品族容易,增加新的产品等级结构麻烦)7.1对于建造一辆汽车,使用建造者模式中ConcreteBulider(具体建造者)需要做的是(A)A提供汽车的各个部件的构造和装配方法B建造汽车C建造汽车部件并且组合成汽车D指挥汽车建造E定义抽象接口7.2建造者模式的优点有哪些(ABC)A分步骤构建一个复杂的对象B应对“复杂对象各个部分”的频繁需求变动C用户使用不同的具体建造者即可得到不同的产品对象D如果产品的内

7、部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大E如果产品之间的差异性很大,则不适合使用建造者模式,因此其使用范围受到一定的限制8.1对于原型模式中,Java语言提供的clone()方法将对象复制了一份并返回给调用者。一般而言,对于clone()方法描述错误的是(A)A对任何的对象x,都有x.clone()=x,即克隆对象与原对象是同一个对象B对任何的对象x,都有x.clone().getClass()==x.getClass(),即克隆对象与原对象的类型一样C如果对象x的equals()方法定义恰当,那么x.clon

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。