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

1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。
Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。
3.在希赛公司的一个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。
试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。
P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。
只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。
新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。
每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行缺点:①通常导致进程成为批处理的结构。
②不适合处理交互的应用。
③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
(2)(3)分层系统体系结构有以下优点:第一,支持基于抽象程度递增的系统设计。
这允许设计者可以将一个复杂系统设计按递增的步骤进行分解。
第二,支持功能增强。
因为每层至多和与之相邻的上层和下层交互,所以,改变某层的功能最多只会影响与之相邻的其它两层。
第三,支持重用。
与抽象数据类型一样,只要对相邻层提供同样的接口,每层可以有很多不同的可相互替代的实现方法。
软件体系结构期末大题

软件体系结构期末大题1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。
Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。
3.在希赛公司的一个财务管理系统,财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。
试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。
P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。
只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。
新的过滤器能够添加到现有系统中来;旧的能够被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。
每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行缺点:①一般导致进程成为批处理的结构。
②不适合处理交互的应用。
③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
(2)。
软件体系结构考试参考试题

壹 . 名词解释(参考斯佳分享的名词解释文档)1.ADL(Architecture Description Language) 体系结构描述语言2. SOA(Service-Oriented Architecture) 面向服务架构3. DSSA (Domain Specific Software Architecture) 特定领域软件体系结构4.CORBA(Common Object Request Broker Architecture) 公共对象请求代理体系结构5. UML(Unified Modeling Language) 统一建模语言6.XML(Extensible Markup Language ) 可扩展标记语言7.B/S(Browser/Server) 浏览器/服务器C/S(Client/Server) 客户端/服务器8.HMB(Hierarchical [ˌhaɪə'rɑ:kɪkl] message bus) 层次消息总线9.SA (Software Architecture) 软件体系结构10.OMG(Object Management Group) 对象管理组织11.SOAP(Simple Object Access Protocol) 简单对象访问协议12.WSDL(Web Services Description Language) web服务描述语言13.SOAD(Service Oriented Analysis And Design) 面向服务的分析与设计14.DCOM(Distributed Component Object Model) 分布式对象组件模型 (Module Interconnection Language) 模块内连接语言贰 . 判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
[精选]软件体系结构期末试题+答案资料
![[精选]软件体系结构期末试题+答案资料](https://img.taocdn.com/s3/m/e9bf54e5b14e852458fb579b.png)
1.以下关于系统性能的叙述中,不正确的是(17)。
(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。
另外还要求支持数据重传,以确保传输的成功。
针对这些集成需求,应该采用(21)的集成方式。
(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。
(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。
其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product”角色相对应的类是(34)。
(33)A. BankB. AccountC. CheckingD. Savings(34)A. BankB. AccountC. Checking5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重用是指重用不同应用领域中的软件元素。
(31)是一种典型的、原始的横向重用机制。
(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式7.在基于构件的软件开发中,(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性。
最新软件体系结构期末试题+答案

1.以下关于系统性能的叙述中,不正确的是(17)。
(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。
另外还要求支持数据重传,以确保传输的成功。
针对这些集成需求,应该采用(21)的集成方式。
(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。
在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。
(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。
其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product”角色相对应的类是(34)。
(33)A. BankB. AccountC. CheckingD. Savings(34)A. BankB. AccountC. Checking5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。
(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package)6 软件的横向重用是指重用不同应用领域中的软件元素。
(31)是一种典型的、原始的横向重用机制。
(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式7.在基于构件的软件开发中,(36)描述系统设计蓝图以保证系统提供适当的功能;(37)用来了解系统的性能、吞吐率等非功能性属性。
软件体系结构期末试题整理 配套答案

1. C.2 D. 消息传递3 C. 逻辑视图 D. 部署视图4.A,B5. C 6. C. 标准函数库 7 A,B8. D9.B10.D11 。
A12. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。
针对该目标,公司应该采用(48) 架构风格最为合适。
(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序 D. 解释器D13 AD14 D15 A1. 分别描述两个质量属性的场景图。
下面场景表现了网上个人银行查询系统的性能。
下面场景表现了网上个人银行查询系统的修改性。
场景可以用文本表示,也可以用图形表示。
2.请描述构架设计的ADD 方法中对模块求精的5个步骤。
答题要点:a. 从具体的质量场景和功能需求集合中选择构架驱动因素。
b. 选择满足构架驱动因素的构架模式。
c. 实例化模块并根据用例分配功能,使用多个视图进行表示。
d. 定义子模块的接口。
e. 验证用例和质量场景并对其进行求精,使它们成为子模块的限制。
3. 描述A TAM 方法的步骤。
)试图同时登陆系统 网上个人银行查询系统平均响应时间5秒正常运行 请求被处理 希望改变操作界面代码只修改界面代码或配置文件 维护时 用户 修改不产生副作用,在2小时内完成500用户户ATAM方法的表述商业动机的表述构架的表述对构架方法进行分类生成质量属性效用树分析构架方法集体讨论并确定场景优先级再次分析构架方法结果的表述4. 选取两个质量属性以表格形式生成质量属性效用树效用树的表格形式如下表所示。
质量属性属性求精场景场景用文字描述,并要标明场景的优先级和实现的难易。
系统的质量属性有多种,请列举其中六种:可用性、可修改性、性能、安全、可测试性、易用性、可移植、可重用、可集成(任选六个)。
试题三参考答案(共15分)【问题1】(4分)U1:移动元素U2:调整元素大小(U1和U2的答案可以互换)(1) <<extend>> (2) << extend>>【问题2】(8分)C1:创建工具C2:选择工具C3:线条工具C4:矩形工具C5:椭圆工具C6:线条C7:矩形C8:椭圆注:C3~C5的答案可以互换;C6~C8的答案可以互换。
2020-2021大学《软件体系结构》期末课程考试试卷A(含答案)
2020-2021《软件体系结构》期末课程考试试卷A专业:考试日期:时间:总分:分闭卷一大题:判断题(共10小题,每小题2分,共20分)1. 构架就是系统的总体结构。
()2. 架构设计中对不同风险承担者提出的要求都要一视同仁,全部予以解决。
()3. 软件架构的风格、软件体系的框架和软件的设计模式,其实就是同一个概念。
()4.在C2风格的系统中每个构件和连接件都有一个顶部一个底部。
构件的顶部与某连接件的底部连接,构件的底部与某连接件的顶部连接,构件与构件之间也可以直接连接。
()5.可修改性战术的主要目的是减少由某个变更直接或者间接影响的模块的数量。
()6. 设计师对系统的质量属性应平等看待,在系统设计中全部予以解决。
()7.应将产生数据的模块和使用数据的模块分离开。
()8. 构架评审中对所有问题都要一视同仁。
()9.通过ATAM评审可以得到明确的量化指标。
()10.根据架构提供的结构图就可以对组件之间的行为进行判断。
()二大题:名词解释题(共2小题,每小题8分,共16分)1. 什么是软件架构2.什么软件架构风格?三大题:论述与应用题(共5小题,1—4小题,每题10分,第5小题24分,共64分)1. 功能,架构,质量属性之间的关系?2.可用性和可靠性有什么区别?3.为什么软件设计中要应用架构样式?4.在用户登录的过程中,需要到后台数据库进行身份验证,试以JSP页面验证技术的发展说明不同战术对质量属性的影响。
5.请根据所学的知识对你的暑期实训作业进行架构设计(应至少包括:➀项目背景、➁需求分析、➂系统架构设计、➃构架的表述、➄质量属性效用树、➅对系统构架的再分析等几个部分)。
院系:专业班级:姓名:学号:装订线2020-2021《软件体系结构》期末课程考试试卷A答案专业:考试日期:时间:总分:分闭卷一大题:判断题(共10小题,每小题2分,共20分)1. 构架就是系统的总体结构。
(错)2. 架构设计中对不同风险承担者提出的要求都要一视同仁,全部予以解决。
软件体系结构试题(试题+答案)
1、设计模式一般用来解决什么样的问题( a)A.同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是( c )A.继承B.封装C.里氏代换 D都不是3、Open-Close原则的含义是一个软件实体( a )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。
A.创建型B.结构型 C行为型 D.以上都可以5、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是( d ) 的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。
A, 委派 B.继承 C创建 D.以上都不对复用方式:继承和组合聚合(组合委派)7、设计模式的两大主题是( d )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展8、单子模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是( b )A.工厂模式 B观察者 C适配器以上都是10、“不要和陌生人说话”是( d )原则的通俗表述A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解11、构造者的的退化模式是通过合并( c )角色完成退化的。
A.抽象产品 B产品 C创建者 D使用者12、单子(单例,单态)模式类图结构如下:下列论述中,关于”0..1”表述的不正确的是( d )A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例C.0表示单例类中可以没有任何实例D.0表示单例类可以提供其他非自身的实例13、对象适配器模式是( a )原则的典型应用。
软件体系结构考试试题
软件体系结构考试试题一、选择题(每题 2 分,共 20 分)1、以下哪种软件体系结构风格强调将系统分解为多个独立的子系统,每个子系统都具有特定的功能和接口?()A 管道过滤器风格B 分层风格C 客户服务器风格D 仓库风格2、在软件体系结构中,以下哪个不是评估软件质量的重要属性?()A 可维护性B 可扩展性C 开发成本D 性能3、哪种架构视图主要关注系统的逻辑结构和组件之间的关系?()A 逻辑视图B 开发视图C 进程视图D 物理视图4、以下哪种模式用于解决软件系统中并发访问共享资源的问题?()A 观察者模式B 单例模式C 责任链模式D 线程同步模式5、软件体系结构的设计原则不包括以下哪一项?()A 高内聚低耦合B 开闭原则C 依赖倒置原则D 快速开发原则6、以下关于微服务架构的描述,错误的是?()A 每个微服务都可以独立部署B 微服务之间通过轻量级的通信机制进行通信C 微服务架构适合小型应用系统D 微服务架构可以提高系统的可扩展性7、哪种架构风格适用于实时系统?()A 事件驱动风格B 解释器风格C 黑板风格D 以上都不是8、在软件体系结构中,以下哪个不是组件的重要特征?()A 接口B 实现C 依赖关系D 版本号9、以下哪种架构模式可以提高系统的容错性?()A 主从模式B 对等模式C 分布式模式D 以上都是10、以下关于软件体系结构描述语言(ADL)的说法,正确的是?()A 可以精确地描述软件体系结构B 不能描述软件体系结构的动态特性C 只适用于特定的软件开发方法D 以上都不对二、填空题(每题 2 分,共 20 分)1、软件体系结构的三要素包括_____、_____和_____。
2、常见的软件体系结构风格有_____、_____、_____等。
3、架构评估的方法包括_____、_____和_____。
4、分层架构中,每一层都为上一层提供_____,同时使用下一层提供的_____。
5、客户端服务器架构中,服务器通常负责_____,客户端负责_____。
软件体系结构期末大题样本
1.基于构件的软件开发的优势是什么?基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装, 更快地构造系统, 减轻用来支持和升级大型系统所需要的维护负担, 从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的”4+1”模型。
Kruchten 提出了一个"4+1"视图模型, 从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。
每一个视图只关心系统的一个侧面, 5个试图结合在一起才能反映系统的软件体系结构的全部内容。
3.在希赛公司的一个财务管理系统, 财务部要客户提供…………4.不同的体系结构风格具有各自的特点、优劣和用途。
试对管道-过滤器风格、事件驱动风格、分层系统、 C2风格和基于消息总线的风格进行分析比较。
P52-56(1)管道和过滤器特点:@使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;@允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;@支持软件重用。
只要提供适合在两个过滤器之间传送的数据, 任何两个过滤器都可被连接起来;@系统维护和增强系统性能简单。
新的过滤器能够添加到现有系统中来; 旧的能够被改进的过滤器替换掉;@允许对一些如吞吐量、死锁等属性的分析;@支持并行执行。
每个过滤器是作为一个单独的任务完成, 因此可与其它任务并行执行缺点: ①一般导致进程成为批处理的结构。
②不适合处理交互的应用。
③因为在数据传输上没有通用的标准, 每个过滤器都增加了解析和合成数据的工作, 这样就导致了系统性能下降, 并增加了编写过滤器的复杂性。
( 2)( 3)分层系统体系结构有以下优点:第一, 支持基于抽象程度递增的系统设计。
这允许设计者能够将一个复杂系统设计按递增的步骤进行分解。
第二, 支持功能增强。
因为每层至多和与之相邻的上层和下层交互, 因此, 改变某层的功能最多只会影响与之相邻的其它两层。
第三, 支持重用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构-设计模式练习题1
1.面向对象分析与设计中的(1)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(2)是指子类应当可以替换父类并出现在父类能够出现的任何地方。
(1) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则
(2) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则
2.(3)限制了创建类的实例数量,而(4)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(3) A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy) D.单例模式(Singleton)
(4) A.命令模式(Command) B.适配器模式(Adapter) C.策略模式(Strategy) D.单例模式(Singleton)
3. (5)设计模式允许一个对象在其内部状态改变时改变它的行为。
下图为这种设计模式的类图,已知类 State 为抽象类,则类(6)的实例代表了Context 对象的状态。
(5) A.单件(Singleton) B.桥接(Bridge) C.组合(Composite) D.状态(State)
(6) A. Context B. ConcreteStateA C. Handle D. State
4.某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。
现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。
图中与Composite模式中的“Component”角色相对应的类是 (7) ,与“Composite”角色相对应的类是 (8) 。
(7) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany
(8) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany
5.某软件公司正在设计一个通用的嵌入式数据处理平台,需要支持多种数据处理芯片之间的数据传递与交换。
该平台的核心功能之一要求能够屏蔽芯片之间的数据交互,使其耦合松散,并且可以独立改变芯片之间的交互过程。
针对上述需求,采用 (9)最为合适。
(9) A. 抽象工厂模式 B. 策略模式 C. 中介者模式D. 状态模式
6.某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理中的撤销和重做等动作,为了实现该功能,采用 (10)最为合适。
(10) A. 单例模式B. 命令模式 C. 访问者模式 D. 适配器模式
7.某互联网公司正在设计一套网络聊天系统,为了限制用户在使用该系统时发表不恰当言论,需要对聊天内容进行特定敏感词的过滤。
针对上述功能需求,采用 (11)能够灵活配置敏感词的过滤过程。
(11) A. 责任链模式 B. 工厂模式 C. 组合模式 D. 装饰模式
8.某软件公司欲开发一个Windows平台上的公告板系统。
在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。
图中与Command模式中的“Invoker”角色相对应的类是 (12) ,与“ConcreteCommand”角色相对应的类是 (13) 。
(13) A. Command B. MenuItem C. Open D. BulktinBoardScreen
(14) A. Command B. MenuItem C. Open D. BulktinBoardScreen
9.某软件公司基于面向对象技术开发了一套图形界面显示构件库VisualComponent。
在使用该库构建某图形界面时,用户要求为界面定制一些特效显示效果,如带滚动条、能够显示艺术字体的透明窗体等。
针对这种需求,公司采用 (15)最为灵活。
(15) A. 桥接模式 B. 命令模式 C. 组合模式 D. 装饰模式
10.某软件公司承接了为某工作流语言开发解释器的工作。
该工作流语言由多种活动节点构成,具有类XML的语法结构。
用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程具有可扩展能力。
针对这种需求,公司采用 (16) 最为恰当。
(16) A. 适配器模式 B. 迭代器模式 C. 访问者模式 D. 观察者模式
软件体系结构-设计模式练习题2
1、设计模式一般用来解决什么样的问题( )
A.同一问题的不同表相 B不同问题的同一表相
C.不同问题的不同表相
D.以上都不是
2、下列属于面向对象基本原则的是( )
A.继承
B.封装
C.里氏代换 D都不是
3、Open-Close原则的含义是一个软件实体( )
A.应当对扩展开放,对修改关闭.
B.应当对修改开放,对扩展关闭
C.应当对继承开放,对修改关闭
D.以上都不对
4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。
A.创建型
B.结构型 C行为型 D.以上都可以
5、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是( )的表述
A.开-闭原则
B.接口隔离原则
C.里氏代换原则
D.依赖倒转原则
6、依据设计模式思想,程序开发中应优先使用的是( )关系实现复用。
A, 委派 B.继承 C创建 D.以上都不对
复用方式:继承和组合聚合(组合委派)
7、设计模式的两大主题是( )
A.系统的维护与开发 B 对象组合与类的继承
C.系统架构与系统开发
D.系统复用与系统扩展
8、单子模式中,两个基本要点()和单子类自己提供单例
A .构造函数私有B.唯一实例 C.静态工厂方法 D.以上都不对
9、下列模式中,属于行为模式的是( )
A.工厂模式 B观察者 C适配器以上都是
10、“不要和陌生人说话” 是()原则的通俗表述
A.接口隔离
B.里氏代换
C.依赖倒转
D.迪米特:一个对象应对其他对象尽可能少的了解
11、构造者的的退化模式是通过合并()角色完成退化的。
A.抽象产品 B产品 C创建者 D使用者
12、对象适配器模式是()原则的典型应用。
A.合成聚合复用原则
B.里式代换原则
C.依赖倒转原则
D.迪米特法则
13、静态工厂的核心角色是()
A.抽象产品
B.具体产品
C.静态工厂
D.消费者
15、下列关于静态工厂与工厂方法表述错误的是:()
A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码
B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中
C.不能形成静态工厂的继承结构
D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。
16、在观察者模式中,表述错误的是()
A.观察者角色的更新是被动的。
B.被观察者可以通知观察者进行更新
C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
D.以上表述全部错误。
17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:()。