软件设计模式及其使用

作者:李璇 更新时间:2010-09-06 09:12 点击:
【论文发表关健词】软件;设计模式;使用
【职称论文摘要】
文章综述了面向对象软件的各种设计模式,描述了各种模式之间的关系以及它们在软件设计过程中的使用,并对设计模式的进一步发展作出展望。

The Designing Model&Using of Software
  Li Xuan
  (HeBei HanDan Polytechnic College,Handan056001,China)
  Abstract:The paper describes the sorts of design models,and the relationship between them,and uses in the courses of designing software,also advances the further developing of designing models.
  Keywords:Software;Designing models;Using
  
  一、设计模式概述
  计算机科学中对设计模式的简单定义就是对于一类重复出现的问题的一种可重用的解决方案。
  一个模式有四个基本要素:模式名称,是助记名,它用来描述模式问题、解决方案和效果。问题,描述应该在何时使用模式。它解释设计问题和问题存在的前因后果,可能描述特定的设计问题,也可能描述导致不灵活设计的类或对象结构。解决方案,描述一个设计的各个组成成分(结构),以及它们之间的相互关系及各自的职责和协作方式。效果,描述模式使用的效果及使用模式应注意的问题。
  二、设计模式分类
  根据模式是用来完成什么工作的不同,将设计模式分为创建型模式、结构型模式、行为型模式三种。
  (一)创建型设计模式:与对象的创建有关,即描述怎样创建一个对象,它隐藏对象创建的具体细节,使程序代码不依赖具体的对象,当增加一个新对象时不需要修改代码即可。创建型类模式将对象的部分创建工作延迟到子类,而创建型对象模式则将它延迟到另一个对象中。创建型类模式有FactoryMethod(工厂方法)模式,创建型对象模式包括AbstractFactory(抽象工厂)、Builder(生成器)、Prototype(原型)、Singleton(单件)四种模式。创建型模式中,AbstractFactory由工厂对象产生多个类的对象;Builder是由这个工厂对象使用一个相对复杂的协议,逐步创建一个相对复杂的产品;Prototype是由该工厂对象通过拷贝原型对象来创建产品对象;Singleton确保一个类只创建一个实例;FactoryMethod是生成所要创建的对象的类的子类。
  (二)结构型设计模式:处理类或对象的组合,即描述类和对象之间组织起来形成大的结构,从而实现新的功能。结构型类模式采用继承机制来组合类,如Adapter(适配器类)模式;结构型对象模式则描述了对象的组装方式,如Adapter(适配器对象)模式、Bridge(桥接)模式、Composite(组合)模式、Decorator(装饰)模式、Façade(外观)模式、Hyweight(享元)模式、Proxy(代理)模式。
  (三)行为型设计模式:描述算法以及对象之间的任务(职责)分配,它描述的不仅仅是类或对象的设计模式,还有它们之间的通讯模式。行为型类模式使用继承机制在类间分派行为,如TemplateMethod(模板方法)模式和Interpreter(解释器)模式;行为型对象模式使用对象复合而不是继承,描述一组对象怎样协作完成单个对象所无法完成的任务,如ChainofReponsibility(职责链)模式、Command(命令)模式、Iterator(迭代器)模式、Mediator(中介者)模式、Memento(备忘录)模式、Observer(观察者)模式、State(状态)模式、Strategy(策略)模式、Visitor(访问者)模式。
  三、设计模式使用
  介绍设计面向对象软件的设计模式,可以帮助设计者更好更快的完成面向对象的软件设计。
  (一)设计模式选择。任意一个需求,总是牵涉到一个或几个特定的问题领域。假定你正在准备设计一个编译器,你很快会想到这与Interpreter模式有关,而解释器模式中,客户首先要创建抽象语法树,抽象语法树中的终结符是一种大量细粒度的对象,这就很明确要用到Hyweight模式共享终结符,想到要用Iterator(迭代器)进行遍译,并用Visitor(访问者)在一个类中维护抽象语法树,因为抽象语法树通常是复合模式的实例,所以要用到Composite模式。这种首先理解问题需求,然后循序渐进地不断找出要用的模式或模式组,从选择设计模式的方法在设计过程中大有益处。
  (二)设计模式使用。设计模式选择好后,就是将模式有效应用到系统设计过程的问题。
  1.理解所选择的模式,注意模式的适用条件和模式使用效果,确定该模式是否适合要解决的实际问题。
  2.研究模式的结构、组成以及它们之间如何协作,确保设计人员理解这个模式的类、对象以及关联关系。
  3.选择模式参与者的名字,使它们在具体应用中有意义。
  4.定义类,声明它们之间的接口,建立它们的继承关系,定义代表数据和对象引用的实例变量。
  5.定义模式中专用于应用的操作名称,名字一般依赖于应用,使用的名字必须一致。
  6.实现执行模式中责任和协作的操作。
  (三)设计模式应用。设计模式在一些基于MFC(微软基础类库)构建的Windows应用程序中使用。MFC是构建基于Windows的应用程序类库,介绍可视化的文档编辑器(如Office办公软件)。可视化编辑的文档可能是一般文件,一个电子数据报表,或一个图形文件。这些文档都是DOCUMENT类的子类对象,对这些对象进行可视化编辑时,必须通过VIEW类的子类生成的视图对象(视图对象的目的是确保其表现反映一个文档对象的状态)来创建一个具体的应用,MFC将文档对象和视图对象分开,并且在文档和视图对象之间通过发布/订阅(即Observer模式)方式来实现。
  四、结束语
  国外设计模式研究工作进展很快,不断总结出新的模式,并且很多软件开发工具和环境增加了对他们的支持,有些研究机构还设想将设计模式用形式化表示让机器自动生成代码,一些类库正在被开发以支持设计模式的实现(如JAVA在其标准类库中提供了这样一些支持)。
  参考文献:
  [1]钟茂生,王明文.软件设计模式及其使用[J].计算机应用,2002,8
  [2]梁义芝,王延章,赵晓哲,缪旭东.软件领域中的模式研究[J],计算机科学,2003,3
  作者简介:李璇(1973-),女,天津市人,中共党员,硕士在读,讲师,现任邯郸职业技术学院工学服务中心副主任。

(责任编辑:nylw.net)转贴于八度论文发表网: http://www.8dulw.com(论文网__代写代发论文_论文发表_毕业论文_免费论文范文网_论文格式_广东论文网_广州论文网)
发表评论
本站模板均经测试成功,请放心下载,遇到任何问题或者需要购买付费论文请联系本站。
表情:
验证码:点击我更换图片