考前冲刺与考点分析-面向对象设计

来源:互联网 发布:公司能开淘宝吗 编辑:程序博客网 时间:2024/05/14 00:18

根据考试大纲,本章要求掌握以下几个方面的知识点。

(1)分析模式与设计模式知识

(2)面向对象程序设计知识

(3)用C++语言实现常见的设计模式及应用程序

(4)用java语言实现常见的设计模式及应用程序

从历年的考试情况来看,本章的考点主要集中于:设计模式基本概念、设计模式的分类、设计模式的特点与应用场合以及面向对象程序语言

与设计模式思想的综合案例。


1.什么是设计模式

设计模式是一套呗反复使用、多数人知晓的。经过分类编目的、代码设计经验的综合。使用设计模式可以提高代码复用度、
让代码更容易被他们理解、保证代码可靠性。毫无疑问,设计模式于己、于系统都是有利的,设计模式是代码编制真正工程化,设计模式是软件工程
的基石,如同打下的一块块砖石一样。

2.设计模式的组成

一般来说,一个模式有4个基本成分,分别是模式名称、问题、解决方案和效果、
(1)模式名称
每个模式都有一个名字,帮助我们讨论模式和它给出的信息。模式名称通常用来描述一个设计问题、它的解法和效果,由一到俩个词组成。
模式名称的产生使我们可以在更高的抽象层次上进行设计并交流设计思想。
(2)问题
问题告诉我们什么时候要使用设计模式、解释问题及备件。例如MVC(Model-View-Controler,模型-视图-控制器)模式关心用户界面经常
变化的问题,他可能描述诸如如何将一个算法表示成一个对象这样的特殊设计问题。在应用这个模式之前,也许还要给一些模式的使用条件。
(3)解决方案
解决方案描述设计的基本要素,它们的关系、各自的任务以及相互之间的合作。解决方案并不是针对某一个特殊问题而给出的。设计模式
提供有关设计问题的一个抽象描述以及如何安排这些基本要素。一个模式就像一个可以在许多不同环境下使用的模板,抽象的描述使我们可以把该模式
应用于解决不同的问题。
模式的解决方案部分给出了如何解决再现问题,或者更恰当地说是如何平衡与之相关的强制条件。在软件体系结构中,这样的解决方案包括两个方面。
第一,每个模式规定了一个特定的结构,即元素的一个空间配置。例如,MVC模式的描述包括以下语句:“把一个交互应用程序划分成三部分,分别是
处理、输入和输出”。
第二,每个模式规定了运行期间的行为,例如,MVC模式的解决方案部分包括以下陈述:"控制器接收输入,而输入往往是鼠标移动、点击鼠标按键或键盘输入等
事件。事件转换成服务请求,这些请求再发送给模型或试图"。
(4)效果
效果描述应用设计模式后的结果和权衡。比较与其他设计方法的异同,得到应用设计模式的代价和有点。对于软件设计来说,通常要考虑的是空间和时间
的权衡。也会涉及到语言问题和实现问题。对于一个面向对象的设计而言。可重用性很重要,效果还包括对系统灵活性、可扩充性及移植性的影响。明确看出这些效果 助于理解和评价设计模式。

3.设计模式的分类

在设计模式概念踢出以后,很多人把自己的一些成功设计规范成了设计模式,一时间踢出了许许多多的模式,但这些模式并没有都被众人所接受。成为通用的模式。知道ErichGamma在他的博士论文中总结了一系列的设计模式,做出了开创性的工作。他用一种类似分类目录的形式将设计模式记载下来。我们称这些设计模式为设计模式目录。格局模式的目标(所做的事情),可以将他们分为创建性模式(creational)、结构性模式(structural)和行为性模式(behavioral)。创建性模式处理的是对象的创建过程,结构性模式
处理的事对象/类的组成,行为性模式处理类和对象间的交互方式和任务分布。根据它们主要的应用对象,又可以分为主要应用于类的和主要应用于对象的。

创建型
Abstract Factory抽象工厂模式
Builder 生成器模式
Factory Method *工厂方法模式
Prototype 原型模式
Singleton 单例模式
结构型
Adapter 适配器模式
Bridge 桥接模式
Composite 组合模式
Decorator 装饰模式
Facade 外观模式
Flyweigjt 亨元模式
Proxy 代理模式
行为型
Chain of Responsibility职责链模式
Command 命令模式
Interpreter* 解释器模式
Iterator 迭代器模式
Mediator 中介者模式
Memento 备忘录模式
Observer 观察者模式
State 状态模式
Strategy 策略模式
Template Method* 模板模式
Visitor 访问者模式


原创粉丝点击