最新软件设计架构试卷

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题(每题2分,共24分)

1.以下关于构造函数的说法,其中错误的是( B )

A.构造函数的函数名必须与类名相同

B.构造函数可以指定返回类型

C.构造函数可以带有参数

D.构造函数可以重载

2.类的构造函数是在( B )调用的。

A. 类创建时

B. 创建对象时

C. 删除对象时

D. 不自动调用

3.在以下关于方法重载的说法,其中错误的是( D )

A.方法可以通过指定不同的返回值类型实现重载

B.方法可以通过指定不同的参数个数实现重载

C.方法可以通过指定不同的参数类型实现重载

D.方法可以通过指定不同的参数顺序实现重载

4.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应该将该方法声明为( D )

A.sealed

B.public

C.virtual

D.override

5.( D )表示了对象间的is-a的关系。

A. 组合

B. 引用

C. 聚合

D. 继承

6.关于单一职责原则,以下叙述错误的是( C )。

A.一个类只负责一个功能领域中的相应职责

B.就一个类而言,应该有且权有一个引起它变化的原因

C.一个类承担的职责越多,越容易复用,被复用的可能性越大

D.一个类承担的职责过多时需要将职责进行分离,将不同的职责封装在不同的类中

7.某系统通过使用配置文件,可以在不修改源代码的情况下更换数据库驱动程序,该系统满足( B )

A. 里氏代换原则

B. 接口隔离原则

C. 单一职责原则

D. 开闭原则

8.一个软件实体应尽可能少地与其他软件实体发生相互作用,这样,当一个模块修改时,就会尽量少的影响其他模块,扩展会相对容易。这是( A )的定义。

A. 迪米特法则

B. 接口隔离原则

C. 里氏代换原则

D. 合成复用原则

9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( A )模式。

A.创建型

B.结构型 C行为型 D.以上都可以

10.在观察者模式中,表述错误的是( C )

A.观察者角色的更新是被动的。

B.被观察者可以通知观察者进行更新

C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。

D.以上表述全部错误

11.下面的类图表示的是哪个设计模式?( A )。

A.抽象工厂模式

B.观察者模式

C.策略模式

D.桥接模式

12.在采用“4+1”视图模型来描述软件体系结构中,系统工程师侧重于( D )

A. 实现视图

B. 进程视图

C. 逻辑视图

D. 部署视图

二、填空题(每空1分,共11分)

1.类体内成员有3个访问权限,说明它们的关键字分别是public、private和protected。

2.请从工厂、抽象工厂、原型、单例、外观、适配器、组合、代理、命令、迭代器、观察者、策略模式中选择合适的模式填入下列的空缺中。

1) 工厂模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。

2) 单例模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。

3) 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面,简化了一群类的接口。

4) 策略模式在对象的集合之中游走,而不暴露集合的实现。

5) 观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。

3.三层架构中的三层分别是指逻辑层、视图层和模型层。

三、问答题(每题5分,共20分)

1.简述“开—闭”原则的基本思想。请举出一个使用了软件“开—闭”原则的软件设计模式,其中何处体现了“开—闭”原则?

开闭原则:一个软件实体像类、模块和函数应该对扩展开放,对修改关闭。

抽象工厂模式:当添加新的产品族时,符合开闭原则,新增加的产品族,只需要对应增加一个新的具体工厂,对已有代码无须做任何修改。

2.抽象类和接口有什么区别?

(1)、一个类只能继承一个抽象类,而一个类却可以实现多个接口;

(2)、接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;

(3)、抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;(4)、接口只能包含方法声明,而抽象类还可以包含方法的定义。

3. GOF模式分为几种,每种包含哪些模式?以及这三种模式的作用.

创建型模式:简单工厂模式;工厂方法模式;抽象工厂模式(Abstract Factory);创建者模式;

原型模式;单例模式。

作用:抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示他的那些对象。一个类创建型模式使用继承改变被实例化的类

结构型模式:外观模式;适配器模式;代理模式;装饰模式;组合模式;桥模式;享元模式

作用:程序的结构上解决模块之间的耦合问题

行为型模式:观察者模式;状态模式;策略模式;命令模式;访问者模式;解释器模式;

备忘录模式;职责链模式;访问者模式;模板方法模式;迭代器模式作用:分配算法和对象间的职责

相关文档
最新文档