多层Web体系程序可重用的结构设计模式
多层Web体系程序可重用的结构设计模式
第1章 绪 论
1.1 选题目的与意义
1.1.1 选题的目的
基于B/S的多层Web体系结构逐渐发展成熟起来,多层Web应用的开发己成为主流。但是,在多层Web体系结构的设计中,仍然存在程序可重用程度低、维护工作繁琐、扩展能力较差等不足。同时,多层Web应用系统需要面对复杂的网络环境、多样化的用户需求、灵活的业务模式、复杂的业务流程、众多的组织机构及层次和角色分工等问题,在业务和技术上也是复杂多变的。因此,如何组织应用程序以实现简单高效的程序编写、升级、维护和扩展,是当前Internet技术发展的热点之一,也是一个很值得探讨的研究课题。本文通过使用设计模式来进行系统架构设计,在一定程度上可以解决这些问题。
1.1.2 选题的意义
优秀的软件设计师都非常清楚,不是所有的问题都需要从头开始解决,他们更愿意复用以前自己或别人曾经使用过的解决方案,每当他们找到一个好的解决方案,会一遍又一遍地使用,这些经验是他们成为专家的部分原因。设计模式的最终目标就是帮助人们利用熟练的软件设计师的集体经验,设计出更加优秀的软件。
本文将就如何在.NET开发平台下使用设计模式思想来开发Web系统做出尝试,并用XX汽车有限公司办公自动化系统的开发作为实例来说明设计模式是如何与.NET的特性相结合的。本文通过对一些重要的设计模式和在这个项目设计过程中遇到一些问题的描述,阐述如何使用设计模式来解决这些问题的,并且从中归纳出同类应用可参考的框架和思路。从而研究国内外设计模式的一些最新成果,探讨设计模式层次上的软件重用。
1.2 国内外研究综述
60年代的软件危机导致了有关软件复用的研究。在1968年NATO软件工程会议上,会议的邀请论文“Mass Produced Software Components”首次提出可复用库的思想,并希望通过代码复用实现大规模软件生产。近十几年来,面向对象技术出现并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用己经成为现代软件工程的一个主要研究重点[2],被视为解决软件危机,提高软件生产效率和质量的现实可行的途径[3]。随着软件复用技术的发展,复用的对象已经由最早的代码、函数库,发展到类库、构件库,甚至于需求分析结果、体系结构、设计方案、测试计划等一切可复用的软件资产。软件复用技术有助于提高软件开发的生产率,提高软件系统的可靠性,减少软件维护的负担[4]。
在面向对象领域,类库(class libraries)、组件(components)、模式(patterns)、框架(frameworks)等等都是一些比较常见的软件复用技术。类库是最为常用的一种复用技术,与函数库相比,类库通常能更为有效地支持小规模的复用,因为类强调了“数据”和“在数据上进行操作的方法”的内聚。类库常常独立于特定领域,并可被广泛地应用,但其复用的有效范围仍然是有限的,因为它不具有相关软件制品族中典型的控制流、协作以及可变性。类库中的类通常是被动的,开发者必须持续地重写大量的控制逻辑,才能把各个可复用的类绑定在一起,从而形成完整的应用。
组件是被用于多层企业应用的一种复用技术。组件是实现特定的一个或一组服务的软件系统中的一个被封装的部分。组件具有一个或多个接口,提供对其服务的访问。组件充当了应用结构的“积木”,而且,只需了解其接口协议,就可对其进行复用。现在有三种主流的组件模型:EJB(Enterprise JavaBeans)、COM(ComponentObject Model,组件对象模型)/DCOM(Distributed Component Object Model,分布式组件对象模型)和CORBA(Common Object Request BrokerArchitecture,公共对象请求代理体系结构)。
模式的概念最先由建筑师Christopher Alexander提出,他定义了一种模式语言,成功地描述了建筑物和城市中的建筑布局。他对模式的定义是:在某一背景下某个问题的一种解决方案。Alexander认为,模式可以解决可能遇到的几乎所有建筑问题。他还进而认为模式可以结合起来解决更复杂的建筑问题。
许多软件界的人士发现Alexander的工作对软件体系结构具有重要的参考价值,这导致了九十年代初在软件领域内应用模式的讨论。在1995年初,一个被称为“四人组”的小组(Gang of Four)出版了一本书《设计模式:可重用的面向对象软件的元素》,该书将设计模式的思想应用于软件设计并称之为设计模式。书里包含了设计模式的一个基本目录,编录了23个设计模式,并且确定模式为软件学科中的一个全新的领域。
目前对设计模式更多的描述则是:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。
因此,采用设计模式开发可重用、易扩展、实现简单的Web应用系统框架是当前Web系统发展的一个趋势。国外对模式的研究有许多方面,有的研究不同领域内如CORAB和项目管理中的应用模式;有的讨论模式系统,希望能够识别不同级别的模式,最终形成一个完整的模式系统。还有的则研究组织系统的架构、模式、子系统责任和规则分配,以及有关子系统如何通信和合作的准则。有关设计模式及其应用的`研究目前在国内尚处于初步阶段,大多数研究组织对其研究仅停留在理论介绍、分类和构建简单应用上,很少有将其大规模应用于企业信息系统开发中。
通过直接使用被证明是正确的设计模式,可以降低软件风险,提高软件生产效率。然而,模式不是孤立存在的,它们只有相互配合,才能发挥出更大的效益,因此,需要研究如何对这些模式进行有效的组合,恰当的重构代码和应用模式,尽可能地构建完善的系统架构。
1.3 研究内容和研究方法
1.3.1 研究内容
论文所阐述的设计模式来源于无数专家对软件开发技术的亲身实践。引入设计模式以确保系统设计的高效性、可维护性和可扩展性是非常必要的。在这个方向的探索过程中,论文完成了如下几项工作:
(1)详细研究并分析了当前三种流行的软件开发方法并总结了基于设计模式的软件开发方法的优点
(2)介绍了设计模式的相关知识,研究了使用设计模式时应该注意的要点和遵循的原则。
(3)以一个办公自动化系统的设计和实现过程为背景,严格按照软件工程的流程进行分析设计和实现,详细地阐述了如何将设计模式思想应用于具体的系统设计。
-
初中美术教学中师生合作学习策略
初中美术教学实施师生合作学习的策略,既能帮助学生对美术加深理解,在课堂上提高学习效率,还能对美术这门学科形成独特的观点和看法,这对于培养学生的独立思考能力和审美能力有很大的帮助。摘要:随着我国新课改要求的发布,各个科目都需要对教学方式和手段进行改进,对于...
-
浅谈知识产权评估的竞争优势法评析
结合实例给出TedHagelin提出的知识产权评估的竞争优势法。该评估方法以含被估知识产权的产品、方法或者服务为载体依据被许可的报表提供输入参数,该载体因获得知识产权许可而增加市场份额、价格等竞争优势从而量化该载体的竞争优势后,进一步分析该载体所得利润中...
-
中职语文教学策略探索论文
摘要:为了提高中职学生语文学习能力,增强学生在语文学习中观察问题、分析问题、解决问题的能力,文章从四个方面探讨了中职语文教学策略,包括确立以学生为主体的教学观念,鼓励学生自主学习;采取你问我答的教学,开阔知识视野;开发并利用课程资源;注重开展语文实践活动。关...
-
有效提高英语课堂教学质量之我见
随着课程改革的深入,许多先进的教育教学理念逐渐为广大教师理解并接受,新的教学方法如同四月的鲜花竞相绽放,在课堂教学中,各地各校教改的呼声一浪高过一浪,教师们也不亦乐乎地投入到教改的大潮中,方法是多样的,但目的是单一的,那就是提高教学质量,如何提高教学质量拙见...