命令模式在软件设计中的应用

上传人:F****n 文档编号:91212605 上传时间:2019-06-26 格式:DOCX 页数:11 大小:26.07KB
返回 下载 相关 举报
命令模式在软件设计中的应用_第1页
第1页 / 共11页
命令模式在软件设计中的应用_第2页
第2页 / 共11页
命令模式在软件设计中的应用_第3页
第3页 / 共11页
命令模式在软件设计中的应用_第4页
第4页 / 共11页
命令模式在软件设计中的应用_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《命令模式在软件设计中的应用》由会员分享,可在线阅读,更多相关《命令模式在软件设计中的应用(11页珍藏版)》请在金锄头文库上搜索。

1、命令模式在软件设计中的应用目录摘要 iAbstract i目录 31 绪论 11.1 课题背景 11.2 面向对象程序设计思想 11.3 软件设计模式的相关概念 31.4 本课题的研究思路 41.4.1 研究意义 41.4.2 研究思路 41.4.3 研究难点 51.5 论文主要工作 52 软件开发环境的介绍 62.1 VISUAL STUDIO XX软件设计平台 62.2 VISUAL STUDIO XX中WPF技术简介 83 软件设计分析 93.1 软件设计思路 93.2 命令模式的分析 9 3.2.1 命令模式概念 93.2.2 命令模式结构 93.2.3 命令模式分析 103.3 设计

2、原则 103.4 UML类图的设计以及类的解耦合 104 软件实现及测试 184.1 记事本界面 184.2 按钮界面 194.3 撤销界面 194.4 软件测试 205 命令模式在其他场景的应用 235.1 日志请求 235.2 队列请求 235.3 适合命令模式的场景 246 总结 256.1 毕业设计总结 25致谢 27参考文献 28附录 291 绪论1.1 课题背景源自-六维论文;网(加7位QQ3249114设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。

3、这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。 :随着各行各业信息化的不断深入,各行业所需软件的规模也随着行业的发展而不断的扩大。与此同时,软件设计也越来越复杂。为了提高软件系统设计的稳定性和可扩展性设计模式作为重要的设计理念和思想,在软件设计领域的应用将不断深化。 软件设计模式是可解决一类软件问题并能重复使用的软件设计方案.在软件设计模式中,在23种设计模式中,在应用的角度被分为创建型模式

4、,结构型模式和行为型模式.如果能够熟练使用软件设计模式,对于未来在不同领域和不同行业有着重要意义,未来就是一个物联网和移动互联的时代,随之而来的是,软件开发越来越复杂,软件构建数量也越来越多,很多软件在设计和编码时或多或少都存在一些问题,从而导致软件在实际的运行和维护中存在很多隐患,这些隐患在软件运行初期或软件运行数量较少时不易出现, 但当运行时间较久或多个软件同时运行时则可能突然出现,而且有的问题不易重现,测试难度很大。1.2 面向对象程序设计思想面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切事物皆为对象;对象是属性及其操作的封

5、装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。它可以有不同层次的理解:从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。 源自-六维论文;网(加7位QQ3249114从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运

6、用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。一、面向对象的基本概念(1)对象对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。(2)对象的状态和行为对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中(3)类具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。类具有属性,它是对象的状态的抽

7、象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。(4)类的结构在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般-具体结构关系,整体-部分结构关系。一般具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。整体部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。(5)消息和方法对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)

8、。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。二、面向对象的特征:(1)对象唯一性每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。(2)分类性分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。(3)继承性继承性是子类自动共享父类数据结构和方法的机制,这是类之间

9、的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。(4)

10、多态性(多形性)多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。 源自-六维论文;网(加7位QQ32491141.3 软件设计模式的相关概念软件设计模式是用来描述所交流的问题及解决方案的,一个完整的设计模式主要由模式名称、问题、解决方案、效果四个基本要素组成。设计模式体现的是程序整体的一种构思,所以有时候它也会出现在分析或者是概要设计阶段中,设计模式的核心思想是通过增加抽象层,把变化部分从那些不变的部分中分离出来。这就是

11、我所了解的设计模式。设计模式有五种原则,“开-闭”原则(OCP)、单一职责原则(SRP)、里氏代换原则(LSP)、依赖倒置原则(DIP)和接口隔离原则(ISP) ,设计模式就是实现了上面所说的五种原则,从而达到了代码复用、增加可维护性的目的。这五种原则有利于软件设计,所谓“开-闭”原则,就是让我们的设计对扩展开放,对修改关闭。实际上这句话的本质是指当一个设计中增加新的模块时,不需要修改现有的模块。在给出一个设计时,应当首先考虑到用户需求的变化,将应对用户变化的部分设计为对扩展开放,而设计的核心部分是经过精心考虑之后确定下来的基本结构,这部分应当是对修改关闭的,即不能因为用户的需求变化而再发生变

12、化,因为这部分不是用来应对需求变化的。如果一个设计遵守了“开-闭”原则,那么一定是易维护的,因为在设计中增加新的模块时,不必去修改设计中的核心模块。在许多设计中,人们希望系统的类之间尽量使耦合关系,而不希望是强耦合关系。设计的底层结构中通常会出现较多的继承结构,而许多应用层需要避开继承的缺点,而需要组合的优点。要合理的使用组合,而不是使用继承来获得方法的复用,需要经过一定时间的认真思考、学习和编程实践。如果类中的方法是一组相关的行为,则称该类是高内聚的,反之称为低内聚。高内聚便于类的维护,而低内聚不利于类的维护。弱耦合就是尽量不要让一个类含有太多的其他类的实力的引用,以避免修改系统的其中一部分

13、会影响到其他部分。GoF 在设计模式:可复用面向对象软件基础一书中归纳出设计模式的四个基本要素:模式名称:是一个助记名,它用一两个词来描述模式的问题、解决方案和效果。问题:描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述特定的设计问题,如怎样用对象表示算法,也可能描述了导致不灵活设计的类或对象结构,有时侯问题部分还会包括使用模式必须满足的一系列先决条件。解决方案:描述了一个设计的各个组成成分(结构),以及它们之间的相互关系及各自的职责和协作方式。效果:描述了模式使用的效果及使用模式应注意的问题。软件设计模式分为三大类,分别为行为型模式,结构型模式和创建型模式。行为型模

14、式涉及怎样合理的设计对象之间的交互通信,以及怎样合理地为对象分配职责,让设计富有弹性、易维护、易复用。结构型模式涉及如何组合类和对象以形成更大的结构,和类有关的结构型模式设计如何合理点的使用继承机制,和对象有关的结构型模式涉及如何合理的使用对象机制。创建型模式涉及对象的实例化,这类模式的特点是:不让用户代码依赖于对象的创建或排列方式,避免用户直接使用new运算符创建对象。1.4 本课题的研究思路1.4.1 研究意义命令模式只是众多软件设计模式中的一种,研究各种设计模式对于软件的重构,代码的复用性有着很重要的意义。设计模式是人们对于在软件设计过程中遇到问题的一种解决方法。本论文通过设计一个记事本

15、,用命令模式实现了撤销功能。展示了命令模式对于设计撤销功能的优势。1.4.2 研究思路(1) 理解实现命令模式的原理,理解解耦合在软件设计中的重要性。(2) 理解UML类图的重要性,画出UML类图。(3) 设计软件,实现撤销功能。(4) 测试代码,完善代码,画出序列图。1.4.3 研究难点(1) 要熟悉Visual Studio XX的编译环境,对于面向对象的编程有一定的理解能力。(2) 需要有一定的面向对象的语言经验,不然很难理解软件设计模式在软件设计中的重要性。(3) 设计综合性要求极高,功能设计与调试完成需要一定的综合能力和时间。1.5 论文主要工作文章通过设计一个记事本,实现其撤销功能来展示。文章主要完成工作:(1) 完全理解命令模式,以及类之间的解耦合

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号