软考 系统架构设计师系列知识点之设计模式(12)

接前一篇文章:软考 系统架构设计师系列知识点之设计模式(11)

所属章节:

老版(第一版)教材

第7章. 设计模式

第2节. 设计模式实例

  1. 某公司开发一个文档编辑器,改变及其允许在文档中直接嵌入图形对象,但开销很大。用户在系统设计之初提出编辑器在打开文档时必须十分迅速,可以暂时不显示当前页面以外的图形。针对这种需求,公司可以采用()避免同时创建这些图形对象。

A. 代理模式

B. 外观模式

C. 桥接模式

D. 组合模式

正确答案:A。

解析:

本体主要考查设计模式的理解与用用。根据题干描述,改变及其需要在文档中嵌入显示开销很大的图形对象,为了能够提高系统效率,需要避免同时创建这些图像。针对这些要求,对比候选项,可以发现代理模式可以解决直接访问对象时带来的问题。例如:要访问的对象在远程的机器上;对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问等。因此代理模式是最为适合的设计模式。

  1. 设计模式基于面向对象技术,是人们在长期的开发实践中良好经验的结晶,提供了一个简单、统一的描述方法,使得人们可以复用这些软件设计办法、过程管理经验。按照设计模式的目的划分,现有的设计模式可以分为创建型、()和行为型三种类型。其中()属于创建型模式,()属于行为型模式。()模式可以将一个复杂的组件分成功能性抽象和内部实现两个独立的但又相关的继承层次结构,从而可以实现接口与实现分离。

第1空

A. 合成型

B. 组合型

C. 结构型

D. 聚合型

正确答案:C。

第2空

A. Adapter

B. Facade

C. Command

D. Singleton

正确答案:D。

第3空

A. Decorator

B. Composite

C. Memento

D. Builder

正确答案:C。

第4空

A. Prototype

B. Flyweight

C. Adapter

D. Bridge

正确答案:D。

解析:

设计模式基于面向对象技术,使人们在长期的开发时间中良好经验的结晶,提供了一个简单、统一的描述方法,使得人们可以服用这些软件设计方法、过程管理经验。按照设计模式的目的进行划分,现有的设计模式可以分为创建型、结构型和行为型三种模式。其中创建型模式主要包括Abstrsact Factory、Builder、Factory Method、Prototype、Singleton等;结构型模式主要包括Adapter、Bridge、Composite、Decorator、Facade、Flyweight和Proxy;行为型模式主要包括Chain of Responbility、 Command、Interpreter、Iterator、Mediator、Memento、Observer、State、Strategy、Template、Method、Visitor等。Bridge模式可以每一个复杂的组件分成功能性抽象和内部实现两个独立的但有相关的继承层次结构,改变组件的这两个层次结构很简单,以至于它们可以互相独立地变化,采用Bridge模式可以将接口与实现分离,提高了可扩展性,并对客户端隐藏了实现的细节。

相关推荐
geovindu4 小时前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式
408高手9 小时前
用例建模之详解用例和用例规约
系统架构
要努力wow12 小时前
系统架构师 —— 系统架构设计
系统架构
Carl_奕然12 小时前
【智能体】Loop 的四种设计模式之:Event-Driven Loop(2026 最新版)
人工智能·驱动开发·python·设计模式
Carl_奕然12 小时前
【智能体】Loop 的四种设计模式之:Hill Climbing Loop(2026 最新版)
人工智能·python·设计模式
HRTOS1 天前
HRTOS:一个名字背后的目标——不断逼近硬实时
经验分享·单片机·系统架构·51单片机
沫璃染墨1 天前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
晚安code1 天前
设计模式入门:吃透 SOLID 原则与迪米特法则,再学 5 个高频模式
后端·设计模式
树下困觉眯1 天前
View绘制流程学习--获取WindowManager的三种方式
android·系统架构·view design
染指11101 天前
135.Agent-多Agent框架-LangChain多智能体(SubAgents子代理)
数据库·人工智能·设计模式·langchain·agent·agents