软件设计模式研究

软件设计模式研究

ID:44873072

大小:38.00 KB

页数:7页

时间:2019-11-01

软件设计模式研究_第1页
软件设计模式研究_第2页
软件设计模式研究_第3页
软件设计模式研究_第4页
软件设计模式研究_第5页
软件设计模式研究_第6页
软件设计模式研究_第7页
资源描述:

《软件设计模式研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件设计模式研究1引言软件业的发展不仅要求软件有更高的生产率和可靠性,而且对软件的可重用性和可维护性也提出了更高的要求。设计模式以文档的形式把面向对象的软件设计经验记录下来,并予以系统的命名、解释和评价,使开发人员在进行系统的设计与开发时,可以使用别人的成功经验而不必为普通的、重复的问题重新设计解决方案,使设计者更容易理解其设计思路,能为自己的问题找到更合适的解决办法,帮助设计者更快更好地完成系统设计。面向对象技术是目前最主要的软件开发方法,面向对象的本质特点是抽象。设计模式将面向对象思想应用在各种典型问题的解决方案上,是

2、我们学习面向对象设计的最佳案例。2设计模式概述设计模式就是解决某个特定的面向对象软件问题的特定方法。模式既是一个事物,也是对类似事物的描述。任何对模式要素的规定,除了必须包括问题、解决方案和场景之外,都必须提及可重复性和名称。设计模式是针对面向对象系统中重复出现的问题而提出来的。有经验的面向对象专家在解决问题时,通常先考虑以前解决过的相似问题,并重用其解法的精华来解决问题,这个不断被引用的解法就是通常说的设计模式。可以简单地认为,设计模式就是解决某个特定的面向对象软件问题的特定方法。每个设计模式都有规范统一的描述语言,以利

3、于其他人使用,实现资源的共享。模式的描述形式通常可以分为两类:一类是经典的自然语言结合OO框图的非形式化描述,一类是形式化描述。目前通常采用GangofFour(GoF)的非形式化描述形式,包括标题和详述。GoF在《设计模式:可复用面向对象软件基础》一书中归纳出设计模式的四个基本要素:·模式名称:是一个助记名,它用一两个词来描述模式的问题、解决方案和效果。·问题:描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述特定的设计问题,如怎样用对象表示算法,也可能描述了导致不灵活设计的类或对象结构,有时侯问

4、题部分还会包括使用模式必须满足的一系列先决条件。·解决方案:描述了一个设计的各个组成成分(结构),以及它们之间的相互关系及各自的职责和协作方式。·效果:描述了模式使用的效果及使用模式应注意的问题。3设计模式与软件体系结构3.1软件体系结构的概念软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,它是由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织(organization)结构和拓扑(topology)结构,并且显示了系统需求和构成系统的元素之间

5、的对应关系,提供了一些设计决策的基本原理。软件体系结构是设计抽象的进一步发展,满足了更好地理解软件系统,更方便地开发更大、更复杂的软件系统的需要。软件体系结构是软件系统开发中十分关键的一个步骤。当今世界的系统不仅复杂而且庞大,如果没有一个合适的体系结构,但是却想要有一个比较成功的设计是不可能的。对于不同的软件系统,设计出的体系结构也应该不同,甚至可以细分到每个不同的子系统都会有不同的结构。系统设计的成败很大程度上就在于如何选择软件体系结构。3.2设计模式与软件体系结构的关系软件体系结构需要确切的标出不同的构件的类型以及它们

6、的之间的相互关系。构件一般都是对应设计程序中的编译单元,连接则一般为表入口、初始化参数、动态数据结构等。并且不同的体系结构具有不同的风格,所以对一些特定的构件、连接以及系统全局的布局都做了定义。设计模式给出的则是软件设计人员定义的基本的系统结构,而不是对系统详细的解。一个设计模式所做的就是提供对一组软件设计问题的通用解的基本框架,并不是一种通过预定义就可以拿来用的设计模块。设计人员需要依照使用的一般需求去实现说定义的设计模式。设计模式与软件体系结构的区别在于:·软件体系结构描述了各种各样的系统设计,并不限于面向对象系统,设

7、计模式目前主要研究面向对象系统。·软件体系结构主要集中于系统全局的构造(构件类型、连接类型、规则和约束),设计模式着重解决粒度更小的、更为具体的设计问题。·软件体系结构提供了更为精确(形式化)的描述语言,而设计模式的形式化研究刚刚起步。他们都强调设计的重用,有时把设计模式看成是小粒度的软件体系结构。4设计模式与软件框架如今,很多的程序员经常把软件框架和设计模式混淆。实际上框架与设计模式大多是来源于对解决问题的一般应用,来源于很多应用中所获得的实践经验总结。但是软件框架与设计模式却是两个不同的概念,当然有不同的含义。软件框架

8、应该是设计模式的特殊化、实例化,它是针对于某个特定的领域中使用的。设计模式表示的是软件开发人员在开发的过程中在特定的场景下去解决重复发生问题的方案。每个设计模式都集中在某个特定的面向对象设计问题,描述了设计人员该在什么情况下使用它,以及使用了以后的效果。一个系统如果使用了设计模式的框架,则比不使用设计模

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。