软件体系结构期末考试试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码
B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中
C.不能形成静态工厂的继承结构
D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。
16、在观察者模式中,表述错误的是()
8、单子模式中,两个基本要点()和单子类自己提供单例
A .构造函数私有B.唯一实例 C.静态工厂方法 D.以上都不对
9、下列模式中,属于行为模式的是( )
A.工厂模式 B观察者 C适配器 以上都是
10、“不要和陌生人说话” 是()原则的通俗表述
A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解
3.(5)设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图,已知类 State 为抽象类,则类(6)的实例代表了Context 对象的状态。
(5) A.单件(Singleton) B.桥接(Bridge) C.组合(Composite) D.状态(State)
(6) A. Context B. ConcreteStateA C. Handle D. State
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
20.对于依赖倒转的表述错误的是()
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。
E.此题没有正确答案。
21.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(),(),(),()。
22.在存在继承关系的情况下,方法向()方向集中,而数据向()方向集中。
23.适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是()关系,而对象适配器采用的是()关系。
3、Open-Close原则的含义是一个软件实体()
A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭
C.应当对继承开放,对修改关闭 D.以上都不对
4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。
A.创建型 B.结构型 C行为型 D.以上都可以
5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( )的表述
(9) A. 抽象工厂模式 B. 策略模式 C. 中介者模式D. 状态模式
6.某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理中的撤销和重做等动作,为了实现该功能,采用(10)最为合适。
(10) A. 单例模式B. 命令模式 C. 访问者模式 D. 适配器模式
7.某互联网公司正在设计一套网络聊天系统,为了限制用户在使用该系统时发表不恰当言论,需要对聊天内容进行特定敏感词的过滤。针对上述功能需求,采用(11)能够灵活配置敏感词的过滤过程。
C. 通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合
D.造成极其严重的依赖关系。
19.关于继承表述错误的是:()
A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。
(11) A. 责任链模式B. 工厂模式 C. 组合模式 D. 装饰模式
8.某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的“Invoker”角色相对应的类是(12),与“ConcreteCommand”角色相对应的类是(13)。
软件体系结构-Hale Waihona Puke Baidu计模式练习题1
1.面向对象分析与设计中的(1)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(2)是指子类应当可以替换父类并出现在父类能够出现的任何地方。
(1) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则
(2) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则
A.开-闭原则B.接口隔离原则 C.里氏代换原则D.依赖倒转原则
6、依据设计模式思想,程序开发中应优先使用的是( )关系实现复用。
A, 委派 B.继承 C创建 D.以上都不对
复用方式:继承和组合聚合(组合委派)
7、设计模式的两大主题是( )
A.系统的维护与开发 B 对象组合与类的继承
C.系统架构与系统开发 D.系统复用与系统扩展
(15) A. 桥接模式 B. 命令模式 C. 组合模式 D. 装饰模式
10.某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成,具有类XML的语法结构。用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程具有可扩展能力。针对这种需求,公司采用(16)最为恰当。
2.(3)限制了创建类的实例数量,而(4)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(3) A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy) D.单例模式(Singleton)
(4) A.命令模式(Command) B.适配器模式(Adapter) C.策略模式(Strategy) D.单例模式(Singleton)
11、构造者的的退化模式是通过合并()角色完成退化的。
A.抽象产品 B产品 C创建者 D使用者
12、对象适配器模式是( )原则的典型应用。
A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则
13、静态工厂的核心角色是()
A.抽象产品 B.具体产品 C.静态工厂 D.消费者
15、下列关于静态工厂与工厂方法表述错误的是:()
24.设计模式的基本要素有(),(),(),(),(),(),()。
25.创立型模式的根本意图是要把()和()的责任进行分离,从而降低系统的()。
26.工厂模式分为(),(),()三种类型
27.门面模式是()法则的典型运用
28.MVC模型的基本工作原理是基于()模式,实现是基于()模式
29.设计模式的思想根源是()基本原则的宏观运用,本质上是没有任何模式的, 发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.
A.观察者角色的更新是被动的。
B.被观察者可以通知观察者进行更新
C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
D.以上表述全部错误。
17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:()
A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移动到C 中,从而解决A和B 行为不完全一致的问题。
4.某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“Component”角色相对应的类是(7),与“Composite”角色相对应的类是(8)。
(7) A. CompanyB. FinanceDepartmentC. HRDepartmentD. ConcreteCompany
B.将B到A的继承关系改组成委派关系。
C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系
D.以上方案错误
18.对象组合的有点表述不当的是()
A. 容器类仅能通过被包含对象的接口来对其进行访问。
B. “黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。
(13) A. Command B. MenuItem C. OpenD. BulktinBoardScreen
(14) A. CommandB. MenuItemC. Open D. BulktinBoardScreen
9.某软件公司基于面向对象技术开发了一套图形界面显示构件库VisualComponent。在使用该库构建某图形界面时,用户要求为界面定制一些特效显示效果,如带滚动条、能够显示艺术字体的透明窗体等。针对这种需求,公司采用(15)最为灵活。
(16) A. 适配器模式 B. 迭代器模式 C. 访问者模式 D. 观察者模式
软件体系结构-设计模式练习题2
1、设计模式一般用来解决什么样的问题( )
A.同一问题的不同表相 B不同问题的同一表相
C.不同问题的不同表相 D.以上都不是
2、下列属于面向对象基本原则的是( )
A.继承 B.封装 C.里氏代换 D都不是
(8) A. CompanyB. FinanceDepartmentC. HRDepartmentD. ConcreteCompany
5.某软件公司正在设计一个通用的嵌入式数据处理平台,需要支持多种数据处理芯片之间的数据传递与交换。该平台的核心功能之一要求能够屏蔽芯片之间的数据交互,使其耦合松散,并且可以独立改变芯片之间的交互过程。针对上述需求,采用(9)最为合适。
相关文档
最新文档