设计模式复习题

1.选择题

1.在观察者模式中,表述错误的是(C )C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
2.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是: ( D )D.以上方案错误
3.下列模式属于结构型设计模式的是(AB ) A. Composite B. 享元(Flyweight〉模式
4.关于继承表述错误的是: ( D ) D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
5.对于依赖倒转的表述错误的是©C.从选项B的角度论述,一个对象可以有多个接口。
6.可以使用哪一种设计模式限制类的实例唯一 ( D )D.单体模式
7. Java数据库连接库JDBC用到哪种设计模式(B ) B.工厂方法
8.关于运用GOF工厂方法的效果Consequences,说法不正确的是(C)有利于产品的一致性8.在应用程序中可用哪些设计模式分离出算法?( B )B.策略模式
9.工厂方法也称为(D)D.虚构造器
10.可以使用哪种设计模式将抽象和实现解耦,使得抽象和实现可以独自变化? (B)桥接模式
11.设计模式一般用来解决什么样的问题:A.同一问题的不同表相
12.下列属于面向对象基本原则的是:C.里氏代换
13. Open-Close 原则的含义是一个软件实体:A.应当对扩展开放,对修改关闭.
14.当我们想创建一个具体的对象而又不希望指定具体的类时,使用(A)模式。A.创建型
15.要依赖于抽象不要依赖于具体。即针对接口编程不要针对实现编程:(D)依赖倒转原则
16.依据设计模式思想,程序开发史应优先使用的是(A)关系实现复用。A.委派
17.设计模式的两大主题是(D)D.系统复思与系统扩展
18.单体模式中,两个基本要点(AB)和单体类自己提供单例A .构造函数私有― B.唯一实19.下列模式中,属于行为模式的是(B)B观察者
20.“不要和陌生人说话”是(D)原则的通俗表述D.迪米特
21.以下是模式的基本要素的是(ABCD)A名称B意图C)解决方案D)参与者和协作者(2)22.常用的描述设计模式的格式有(ABCD)A)意图B)动机C)适用性D)结构
23.以下哪些问题通过应用设计模式能够解决( AD)A指定对象的接口D设计应支持变化24.面向对象系统中功能复用的最常用技术是(AB )。A)类继承B)对象组合
25.常用的基本设计模式可分为( A )。A)创建型、结构型和行为型
26.以下关于创建型模式说法正确的是(A )。A)创建型模式关注的是对象的创建
27.以下属于创建型模式的是( AC )。
A)抽象工厂(Abstract Factory)模式C)单例(Singleton)模式
28.( C)模式是利用一个对象,快速生成一批对象。C)原型(Prototype)模式
29.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在
( AD )。A)适配器(Adapter)模式D)桥接(Bridge)模式
30.结构型模式中最体现扩展性的几种模式是(( C )C)装饰(Decorator)模式
31.行为类模式使用( C )在类间分派行为。C)对象组合
32.以下属于行为对象模式的是(ABCD ) A)模板(Template Method)模式B)迭代器
(Iterator)模式C)命令(Command)模式D)观察者(0bserver)模式
33.封装分布于多个类之间的行为的模式是( C )C)访问者(Visitor)模式
34.0bserver(观察者)模式适用于©。©当一个对象必须通知其它对象,而它又不
能假定其它对象是谁。也就是说你不希望这些对象是紧耦合的。
35.Java的异常处理机制可理解为哪一种行为模式( C )。C)职责链(Chain of
Responsibility)模式
36.居民身份证号使用(单例模式)A.单例模式
37.(单选题)在UML中,用例可以使用(A)来描述。A.活动图B.类图C.状态图D.协作图
38.(单选题)下列关于UML叙述正确的是()。
A. UML是一种语言,语言的使用者不能对其进行扩展
B.UML是独立于软件开发过程的语言B
C.UML仅是一组图形的集合
D.UML仅适用于系统的分析与设计阶段
38.(单选题)UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的—系列消息交换。消息序列可用两种图来表示,分别是( C)。(协作图又叫通信图)
A.状态图和时序图
B.活动图和协作图
C.时序图和协作图
D.状态图和活动图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.简答题

1.什么是设计模式?设计模式目标是什么?
答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。
2.设计模式中一般都遵循的原则有什么?
答:开闭原则、根据场景进行设计原则、优先组合原则、包容变化原则“Gang of Four”针3.对“创建优秀面向对象设计”建议了哪些策略?
答:针对接口编程、优先使用对象组合而不是类继承,找到并封装变化点。
4.面向对象系统中功能复用的两种最常用技术是什么?
答:类继承和对象组合,类继承允许你根据其他类的实现来定义一个类的实现。父类的内部细节对子类可见。类继承是在编译时刻静态定义的,且可直接使用,类继承可以较方便地改变被复用的实现。对象组合是类继承之外的另一种复用选择。新的更复杂的功能可以通过组装或组合对象来获得。对象组合要求被组合的对象具有良好定义的接口。
5.只根据抽象类中定义的接口来操纵对象有什么好处?
答: 1)客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接口。
2)客户无须知道他们使用的对象是用什么类来实现的,他们只须知道定义接口的抽象类。
6.在MVC模型中M、V、C分别指什么?简述它们之间的关系?
M:模型(Model),V:视图(View)C:控制Controller)
MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model 与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python语言程序设计基础题库是一个包含了基本Python编程概念和语法的题目集合。这些题目旨在帮助学习者巩固和加深对Python语言的理解,并培养编程思维和解决问题的能力。 这个题库涵盖了多个主题,如变量、数据型、条件语句、循环结构、列表、字符串、函数、文件输入输出等等。每个主题都提供了一系列具体的问题,要求学习者使用Python语言编写相应的程序来解决问题。 例如,在变量主题中,可以提供一些关于变量的定义、赋值和使用的问题。学习者需要根据题目要求,使用适当的变量名和赋值操作,编写程序来输出特定的结果。 又如,在循环结构主题中,可以提供一些关于循环的应用问题。学习者需要使用循环语句(如for循环或while循环)来处理要求,并利用循环体中的条件语句来控制循环的次数和结束条件。 通过解答这些题目,学习者可以逐渐掌握并熟练应用Python编程中的各种基本概念和语法。此外,这些题目也可以帮助学习者培养编程思维和解决问题的能力,提升算法设计和代码实现的能力。 总之,Python语言程序设计基础题库是一个用于训练和提高学习者Python编程能力的工具,通过不断练习和解答这些题目,学习者可以逐渐掌握和熟练应用Python编程中的基本概念和语法,并培养出良好的编程习惯和解决问题的能力。 ### 回答2: Py语言程序设计基础题库是为了帮助学习者掌握Python语言的基础知识和编程技巧而设计的一系列编程题目集合。 这个题库通常包含了各个难度层次的编程题目,从简单的变量定义、数据型操作,到较复杂的循环、条件判断以及函数的使用等等。 通过解答这些题目,学习者可以巩固已学的知识,并逐渐提高编程能力。同时,题库中的题目也会涵盖一些常见的编程场景,让学习者有机会将所学的知识应用到实际问题中,提升解决问题的能力。 另外,Py语言程序设计基础题库还可以作为一种评测工具,用于检验学习者的编程水平和掌握程度。学习者可以通过完成题库中的题目并提交代码,接受系统的自动评判,并根据评判结果进行改进和学习。 总之,Py语言程序设计基础题库是帮助学习者学习和提高Python编程能力的重要资源,能够提供一系列有针对性的编程练习和学习路径。 ### 回答3: Py语言程序设计基础题库是一组涵盖Python编程基础知识和技巧的题目集合。它旨在帮助学习者掌握Python语言的基本概念、语法和常用的编程模式。 这个题库设计的目的是通过一系列练习题来帮助学习者提高他们的编程技能。题库中的问题包括从简单的变量和数据型练习到更复杂的控制流和函数。每个问题都有一个明确的要求,并且要求学习者用Python代码来实现解决方案。 通过完成这些编程练习,学习者可以加深对Python的理解。他们将学会如何使用Python中的各种数据型、操作符和控制结构,以及如何定义和调用函数。此外,他们还可以练习如何解决实际问题,如计算数列、排序列表和处理文件等。 该题库的题目难度逐渐增加,可以帮助学习者逐步提升他们的编程能力。此外,题库中的解答也提供了参考答案,学习者可以通过对比自己的解决方案来评估自己的编码水平。 总而言之,Py语言程序设计基础题库是一个有助于学习者掌握Python编程基础知识和技巧的资源。通过完成题库中的练习,学习者可以提高他们的编程能力,并且更好地理解和应用Python语言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值