建设银行网站用户名忘了怎么办,电子商务网站建设技巧,建设网站员工招聘策划方案,百度蜘蛛对视频网站的抓取某软件公司欲开发一个 Windows 平台上的公告板系统。在明确用户需求后#xff0c;该公司的 架构师决定采用 Command 模式实现该系统的界面显示部分#xff0c;并设计 UML 类图如下 图所示。图中与 Command 模式中的 Invoker 角色相对应的类是( ) #xff0c;与 ConcreteComm…某软件公司欲开发一个 Windows 平台上的公告板系统。在明确用户需求后该公司的 架构师决定采用 Command 模式实现该系统的界面显示部分并设计 UML 类图如下 图所示。图中与 Command 模式中的 Invoker 角色相对应的类是( ) 与 ConcreteCommand 角色相对应的类是() 。 ACommand BMenuItem COpen DButktinBoardScreen ACommand BMenuItem COpen DBulktinBoardScreen
【解析】 Command命令模式是设计模式中行为模式的一种它将“请求”封装成对象以便使用不同的请求、队列或者日志来参数化其他对象。Command 模式也支持可撤销的操作。
Command 模式的类图如下所示。 对于题目所给出的图与 Invoker 角色相对应的类是 MenuItem与 Concrete Command 角色相对应的类是 Open。
某软件公司基于面向对象技术开发了一套图形界面显示构件库 VisualComponent。在使用该库构建某图形界面时用户要求为界面定制一些特效显示效果如带滚动条、能够显示艺术字体的透明窗体等。针对这种需求公司采用( ) 最为灵活。
A桥接模式 B命令模式 C组合模式 D装饰模式
【解析】 根据题干描述可以看出其基础是一个图形界面并要求为图形界面提供一些定制的特效例如带滚动条的图形界面能够显示艺术字体且透明的图形界面等。这要求能够动态地对一个对象进行功能上的扩展也可以对其子类进行功能上的扩展。对照选项中的 4 种设计模式装饰模式最符合这一要求。
某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成具有类 XML 的语法结构。用户要求解释器工作时对每个活动节点进行一系列的处理包括执行活动、日志记录、调用外部应用程序等并且要求处理过程具有可扩展能力。针对这种需求公司采用( ) 最为恰当。
A适配器模式 B迭代器模式 C访问者模式 D观察者模式
【解析】 根据题干描述可以看出本题的核心在于对某个具有固定结构的活动节点需要多种处理能力且处理能力可扩展也就是说要求在不改变原来类结构活动节点的基础上增加新功能。对照 4 个选项发现访问者模式最符合要求。
某公司欲开发一个软件系统的在线文档帮助系统用户可以在任何一个查询上下文中输 入查询关键字如果当前查询环境下没有相关内容则系统会将查询按照一定的顺序转 发给其他查询环境。基于上述需求采用( )最为合适。
A.责任链模式 B.桥接模式 C.装饰模式 D.适配器模式
【解析】 本题主要考查设计模式的理解与应用。根据题干描述在线文档系统需要根据用户的查询需求逐步将查询请求依次传递对比 4 个候选项其中在责任链模式里很多对象由每一 个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递直到链上的某一个对 象决定处理此请求。因此责任链模式是能够满足该要求的最好模式。
某公司欲开发一套窗体图形界面类库。该类库需要包含若干预定义的窗格(Pane)对象 例如 TextPane、ListPane 等窗格之间不允许直接引用。基于该类库的应用由一个包 含一组窗格的窗口组成并需要协调窗格之间的行为。基于该类库在不引用窗格的前 提下实现窗格之间的协作应用开发者应采用( )最为合适。
A.备忘录模式 B.中介者模式 C.访问者模式 D.迭代器模式
【解析】 本题主要考查设计模式的理解与应用。根据题干描述应用系统需要使用某公司开发的 类库该应用系统是一组窗格组成应用需要协调窗格之间的行为并且不能引用窗格自身 在这种要求下对比 4 个候选项其中中介者模式用一个中介对象封装一系列的对象交互。 中介者使用各对象不需要显式的相互调用从而使其耦合松散。可以看出该模式最符合需求。
某公司开发一个文档编辑器该编辑器允许在文档中直接嵌入图形对象但开销很大。 用户在系统设计之初提出编辑器在打开文档时必须十分迅速可以暂时不显示当前页面 以外的图形。针对这种需求公司可以采用( )避免同时创建这些图形对象。
A.代理模式 B.外观模式 C.桥接模式 D.组合模式
【解析】 本题主要考查设计模式的理解与应用。根据题干描述该编辑器需要在文档中嵌入显示 开销很大的图形对象为了能够提高系统效率需要避免同时创建这些图像。这对这些要求 对比候选项可以发现代理模式可以解决直接访问对象时带来的问题例如:要访问的对象 在远程的机器上;对象创建开销很大或者某些操作需要安全控制或者需要进程外的访问 等。因此代理模式是最为合适的设计模式。
某公司欲开发一门户网站将公司的各个分公司及办事处信息进行整合。现决定采用 composite 设计模式来实现公司的组织结构关系并设计了如图所示的 UML 类图。图 中与 Composite 模式中的 Component 角色相对应的类是( 1 )与 Composite 角色 相对应的类是( 2 )。 (1) ACompany BFinance Department CHRDepartment DConcreteCompany (2) ACompany BFinance Department CHRDepartment DConcreteCompany
【解析】 本题考查组合模式相关的知识。下图为组合模式的 UML 图例。与题目给出的图例进行 匹配可得出答案 【答案】A、D。
某软件公司正在设计一个通用的嵌入式数据处理平台需要支持各种数据处理芯片之间的数据传递与交换。该平台的核心功能之一要求能够屏蔽芯片之间的数据交互使其耦合松散并且可以独立改变芯片之间的交互过程。针对上述需求采用( )最为合适。
A.抽象工厂模式 B.策略模式 C.中介者模式 D.状态模式
【解析】 本题主要考查对设计模式的理解和掌握。根据题干描述该系统需要能够支持不同芯片之间的数据交互并能够独立改变芯片之间的数据交互过程。这种情况下可以引入一个中介层通过中介层屏蔽不同芯片之间的两两交互。根据上述分析选项中列举的设计模式中中介者模式最符合要求。
某软件公司正在设计一个图像处理软件该软件需要支持用户在图像处理过程中的撤销和重做等动作为了实现该功能采用( )最为合适。
A单例模式 B命令模式 C访问者模式 D适配器模式
【解析】 根据题干描述系统需要支持用户在图像处理过程中的撤销和重做的动作因此可以将用户动作封装成对象通过对象之间的传递和转换实现撤销和重做等动作。根据上述分析选项中列举的设计模式中命令模式最符合要求。
某互联网公司正在设计一套网络聊天系统为了限制用户在使用该系统时发表不恰当言论需要对聊天内容进行特定敏感词的过滤。针对上述功能需求采用______能够灵活配置敏感词的过滤过程。
A责任链模式 B工厂模式 C组合模式 D装饰模式
【解析】 本题考查常见设计模式的特点。 Abstract Factory(抽象工厂模式)提供一个创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。 Chain of Responsibility为解除请求的发送者和接收者之间耦合而使多个对象都有机会处理这个请求。将这些对象连成一条链并沿着这条链传递该请求直到有一个对象处理它。 Composite将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。 Decorator动态地给一个对象添加一些额外的职责。就扩展功能而言 它比生成子类方式更为灵活。 依据题意需要限制用户在使用聊天系统时发表不恰当言论需要对聊天内容进行特定敏感词的过滤最为关键的一点是需要灵活配置过滤关键字。如果本系统采用责任链模式即可达到这一点。
某软件公司欲设计一款图像处理软件帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段公司的系统分析师识别出了如下 3 个关键需求。 图像处理软件需要记录用户在处理照片时所有动作并能够支持用户动作的撤销与重做 等行为。 图像处理软件需要根据当前正在处理的照片的不同特征选择合适的处理操作处理操作 与照片特征之间具有较为复杂的逻辑关系。 图像处理软件需要封装各种图像处理算法用户能够根据需要灵活选择合适的处理算 法:软件还要支持高级用户根据一定的规则添加自定义处理算法。 在系统设计阶段公司的架构师决定采用设计模式满足上述关键需求中对系统灵活性与 扩展性的要求。 具体来说为了支持灵活的撤销与重做等行为采用( )最为合适; 为了封 装图像操作与照片特征之间的复杂逻辑关系采用( )最为合适; 为了实现图像处理算法的 灵活选择与替换采用( )最为合适。
A.工厂模式 B.责任链模式 C.中介者模式 D.命令模式 A.状态模式 B.适配器模式 C.组合模式 D.单例模式 A.模板方法模式 B.访问者模式 C.策略模式 D.观察者模式
【解析】
本题主要考查设计模式知识。题干描述了某软件公司一款图像处理软件的需求分析与设 计过程并明确指出采用设计模式实现关键需求对系统灵活性与扩展性的要求。 针对需求 1为了支持灵活的撤销与重做等行为采用命令模式最为合适因为命令模 式可以将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化还可以对 请求排队或记录请求日志以及支持可撤消的操作。 针对需求 2为了封装图像操作与照片特征之间的复杂逻辑关系采用状态模式最为合 适因为状态模式将每一个条件分支放入一个独立的类中这样就可以根据对象自身的情况 将对象的状态作为一个对象这一对象可以不依赖于其他对象而独立变化; 针对需求 3为了实现图像处理算法的灵活选择与替换采用策略模式最为合适因为 策略模式定义一系列的算法把它们封装起来 并且使它们可相互替换使得算法可独立 于使用它的客户而变化。 【答案】D、A、C。
若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能这些数据库系统 提供的访问接口有一定的差异但访问过程却都是相同的例如先连接数据库再打 开数据库最后对数据进行查询。针对上述需求可以采用( )设计模式抽象出相同的 数据库访问过程该设计模式( )。 (1)A.外观 B.装饰 C.桥接 D.享元 (2)A.可以动态、透明地给单个对象添加职责 B.为子系统定义了一个高层接口这个接口使得这一子系统更加容易使用 C.通过运用共享技术有效支持大量细粒度的对象 D.将抽象部分与它的实现部分分离使它们都可以独立地变化
【解析】 外观(façade)模式是对象的结构模式要求外部与一个子系统的通信必须通过一个统一 的外观对象进行为子系统中的一组接口提供一个一致的界面外观模式定义了一个高层接 口这个接口使得这一子系统更加容易使用。 【答案】A、B。 扩展:这个题本身出题有问题这个场景最合适的其实是模板方法因为固定了流程 但没有固定里面的内容。但给出的选项中没有这个选项所以已然没有最合适的了。也就 这个原因才选到 A。其实如果说外观也算能行用桥接也是可以的。把过程作为抽象把里 面要处理的内容作为实现部分。
某系统中的文本显示类( TextView )和图片显示类( PictureView )都继承了组件类 ( Component )分别显示文本和图片内容现需要构造带有滚动条或者带有黑色边框 或者既有滚动条又有黑色边框的文本显示控件和图片显示控件但希望最多只增加 3 个类。那么采用设计模式( )可实现该需求其优点是( )。
(1)A.外观 B.单体 C.装饰 D.模板方法 (2)A.比静态继承具有更大的灵活性 B.提高已有功能的重复使用性 C.可以将接口与实现相分离 D.为复杂系统提供了简单接口
【解析】 装饰模式:动态地给一个对象添加一些额外的职责。它提供了用子类扩展功能的一个灵 活的替代比派生一个子类更加灵活。 在本题中“现需要构造带有滚动条或者带有黑色边框或者既有滚动条又有黑色边框 的文本显示控件和图片显示控件”从此处可以看出需要能为构件灵活附加功能的机制这 与装饰模式的情况是吻合的。这样做比静态继承具有更大的灵活性。
一组对象以定义良好但是复杂的方式进行通信产生的相互依赖关系结构混乱且难以理 解。采用( )模式用一个特定对象来封装一系列的对象交互从而使各对象不需要显 式地相互引用使其耦合松散而且可以独立地改变它们之间的交互。
A.解释器(Interpreter) B.策略(Strategy) C.中介者(Mediator) D.迭代器(Iterator)
【解析】
解释器(interpreter)模式。解释器模式属于类的行为型模式描述了如何为语言定义一个 文法如何在该语言中表示一个句子以及如何解释这些句子这里的“语言”是使用规定 格式和语法的代码。解释器模式主要用在编译器中在应用系统开发中很少用到。
策略(strategy)模式。策略模式是一种对象的行为型模式定义一系列算法并将每一个 算法封装起来并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化其目 的是将行为和环境分隔当出现新的行为时只需要实现新的策略类。
中介者(mediator)模式。中介者模式是一种对象的行为型模式通过一个中介对象来封 装一系列的对象交互。中介者使得各对象不需要显式地相互引用从而使其耦合松散而且 可以独立地改变它们之间的交互。中介者对象的存在保证了对象结构上的稳定也就是说 系统的结构不会因为新对象的引入带来大量的修改工作。
迭代器(iterator)模式。迭代器模式是一种对象的行为型模式提供了一种方法来访问聚 合对象而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象 复杂的聚合可用多种方法来进行遍历;允许在同一个聚合上可以有多个遍历每个迭代器保 持它自己的遍历状态因此可以同时进行多个遍历操作。 扩展:设计模式分类:创建型模式、结构型模式、行为型模式。
某广告公司的宣传产品有宣传册、文章、传单等多种形式宣传产品的出版方式包括纸 质方式、CD、DVD、在线发布等。现要求为该广告公司设计一个管理这些宣传产品的 应用采用( )设计模式较为合适该模式()。 (1)A.Decorator B.Adapter C.Bridge D.Facade (2)A.将一系列复杂的类包装成一个简单的封闭接口 B.将抽象部分与它的实现部分分离使它们都可以独立地变化 C.可在不影响其他对象的情况下以动态、透明的方式给单个对象添加职责 D.将一个接口转换为客户希望的另一个接口
【解析】 本题考点是设计模式不同的设计模式可以应用于不同的场景在本题题干部分提到宣 传产品有多种表现形式又有多种媒介如果用一棵类树来表达必然会带来“类爆炸”(题 目中增加一种媒介代码实现中需要增加多个类)的问题所以使用桥接模式是合适的。桥 接模式的最核心特点便是:将抽象部分与它的实现部分分离使它们都可以独立地变化。
某软件公司欲开发一个绘图软件要求使用不同的绘图程序绘制不同的图形。在明确用户需求后该公司的架构师决定采用 Bridge 模式实现该软件并设计 UML 类图如下图所示。图中与 Bridge 模式中的 Abstraction 角色相对应的类是与 Implementor 角色相对应的类是 。 A.Shape B.Drawing C.Rectangle D.V2Drawing A.Shape B.Drawing C.Rectangle D.V2Drawing
【解析】 桥接模式将抽象部分与它的实现部分分离使它们都可以独立地变化。它是一种对象结构型模式又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式类似于多重继承方案但是多重继承方案往往违背了类的单一职责原则其复用性比较差桥接模式是比多重继承方案更好的解决方法。 桥接模式的结构如下图所示其中 图中与 Bridge 模式中的“Abstraction”角色相对应的类是 Shape与“Implementor”角 色相对应的类是 Drawing。 【答案】A、B。
在面向对象设计的原则中、 原则是指抽象不应该依赖予细节细节应该依赖于抽象即应针对接口编程而不是针对实现编程。
A.开闭 B.里氏替换 C.最少知识 D.依赖倒置
【解析】 单一职责原则设计目的单一的类。 开放-封闭原则对扩展开放对修改封闭。 李氏(Liskov)替换原则子类可以替换父类。 依赖倒置原则要依赖于抽象而不是具体实现针对接口编程不要针对实现编程。 接口隔离原则使用多个专门的接口比使用单一的总接口要好。 组合重用原则要尽量使用组合而不是继承关系达到重用目的。 迪米特(Demeter)原则(最少知识法则)一个对象应当对其他对象有尽可能少的了解。
设计模式基于面向对象技术是人们在长期的开发实践中良好经验的结晶提供了一个 简单、统一的描述方法使得人们可以复用这些软件设计办法、过程管理经验。按照设 计模式的目的进行划分现有的设计模式可以分为创建型、( )和行为型三种类型。 其中( )属于创建型模式( )属于行为型模式。( )模式可以将一个复杂的组件 分成功能性抽象和内部实现两个独立的但又相关的继承层次结构从而可以实现接口与 实现分离。
A.合成型 B.组合型 C.结构型 D.聚合型 A.Adaptor B.Facade C.Command D.Singleton A.Decorator B.Composite C.Memento D.Builder A.Prototype B.Flyweight C.Adapter D.Bridge
设计模式包括:创建型、结构型、行为型三大类别。 Singleton 是单例模式属于创建型设计模式。 Memento 是备忘录模式属于行为型设计模式。 Bridge 是桥接模式它的特点是实现接口与实现分离
按照设计模式的目的进行划分现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接 口封装了系统中对象如何创建、组合等信息其代表有( )模式等;( )模式主要用于如何组合己有的类 和对象以获得更大的结构其代表有 Adapter 模式等;( )模式主要用于对象之间的职责及其提供服务的分 配方式其代表有( )模式等。
A.Decorator B.Flyweight C.Command D.Singleton A.合成型 B.组合型 C.结构型 D.聚合型 A.行为型 B.交互型 C.耦合性 D.关联型 A.Prototype B.Facade C.Proxy D.Visitor
【解析】
设计模式包括:创建型、结构型、行为型三大类别。 Singleton 是单例模式属于创建型设计模式。 Adapter 是适配器模式属于结构型设计模式。 Visitor 是访问者模式属于行为型设计模式。 【答案】D、C、A、B。
设计模式描述了一个出现在特定设计语境中的设计再现问题并为它的解决方案提供了 一个经过充分验证的通用方案不同的设计模式关注解决不同的问题。例如抽象工厂 模式提供一个接口可以创建一系列相关或相互依赖的对象而无需指定它们具体的类 它是一种(54)模式;(55)模式将类的抽象部分和它的实现部分分离出来使它们可 以独立变化它属于(56)模式;(57)模式将一个请求封装为一个对象从而可用不 同的请求对客户进行参数化将请求排队或记录请求日志支持可撤销的操作。
(54)A. 组合型 B. 结构型 C. 行为型 D. 创建型 (55)A. Bridge B. Proxy C. Prototype D. Adapter (56)A. 组合型 B. 结构型 C. 行为型 D. 创建型 (57) A. Command B. Facade C. Memento D. Visitor
【解析】
抽象工厂模式是一种类创建型模式。 桥接模式(Bridge)-将抽象部分与它的实现部分分离,使它们都可以独立地变化它是一种 对象结构型模式。 命令(Command)模式将一个请求封装为一个对象从而可用不同的请求对客户进行 参数化将请求排队或记录请求日志支持可撤销的操作。 答案 DABA。