设计模式
被考次数: 99次
被考频率: 高频率
答错率:    39%
知识难度:
考试要求: 掌握     
知识路径:  > 面向对象基础知识  > 面向对象基础知识  > 面向对象基础知识  > 分析模式与设计模式


本知识点历年真题试卷分布
>> 试题列表    
 

 
       设计模式的要素
       设计模式一般有以下4个要素。
       (1)模式名称(Pattern Name)。一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式增加了设计词汇。设计模式允许在较高的抽象层次上进行设计。基于一个模式词汇表,就可以讨论模式并在编写文档时使用它们。模式名可以帮助人们思考,便于人们与其他人交流设计思想及设计结果。
       (2)问题(Problem)。描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,可能描述了特定的设计问题,如怎样用对象表示算法等;也可能描述了导致不灵活设计的类或对象结构。
       (3)解决方案(Solution)。描述了设计的组成成分、它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。
       (4)效果(Consequences)。描述了模式应用的效果及使用模式应权衡的问题。尽管描述设计决策时并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。
       创建型设计模式
       创建型模式抽象了实例化过程。它们可以帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。
       创建型模式中有两个不断出现的主旋律:第一,它们都将关于该系统使用哪些具体的类的信息封装起来;第二,它们隐藏了这些类的实例是如何被创建和放在一起的。整个系统关于这些对象所知道的是由抽象类所定义的接口。因此,创建型模式在什么地方被创建、谁创建它、它是怎样被创建的以及何时创建这些方面给予了很大的灵活性。它们允许用结构和功能差别很大的"产品"对象配置一个系统。配置可以是静态的(即在编译时指定),也可以是动态的(在运行时)。
       结构性设计模式
       结构性模式涉及如何组合类和对象以获得更大的结构。结构性模式采用继承机制来组合接口或实现。结构性对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。
       Composite模式是结构性对象模式的一个实例。它描述了如何构造一个类层次式结构,这一结构由两种类型的对象所对应的类构成。
       Flyweight模式为共享对象定义了一个结构。至少有两个原因要求对象共享,即效率和一致性。Flyweight模式的对象共享机制主要强调对象的空间效率。使用很多对象的应用必须考虑每一个对象的开销。
       Facade模式描述了如何用单个对象表示整个子系统。模式中的Facade用来表示一组对象,Facade的职责是将消息转发给它所表示的对象。
       Bridge模式将对象的抽象和其实现分离,从而可以独立地改变它们。
       Decorator模式描述了如何动态地为对象添加职责。这一模式采用递归方式组合对象,允许添加任意多的对象职责。
       行为设计模式
       行为模式涉及算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻画了在运行时难以跟踪的复杂控制流。它们将你的注意力从控制流转移到对象间的联系方式上来。
       行为类模式使用继承机制在类间分派行为,主要有TemplateMethod和Interpreter两种模式。
       行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组对等的对象怎样相互协作以完成其中任一个对象都无法单独完成的任务。
       Observer模式定义并保持对象间的依赖关系。典型的Observer的例子就是Smalltalk中的模型/视图/控制器,其中一旦模型的状态发生变化,模型的所有视图都会得到通知。
       其他的行为对象模式常将行为封装在一个对象中,并将请求指派给它。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有