文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程ASP面向对象的应用服务层设计
精品推荐
特别推荐
·如何解密加密的ASP源代码
·PHP+MySQL 购物车程序实例
·ASP网站漏洞及入侵防范方法
·ASP网络安全
·1小时ASP入门
·初学ASP动态网页制作常用错误处理
·ASP实现网页打开任何类型文件都保存
·ASP技巧:使用FSO自动创建多级文件夹的函数
·轻松建站 主流ASP内容管理系统
·ASP教程:透彻掌握ASP分页技术
热点TOP10
·了解MSMQ,控制ASP进程 (一)
·用ASP对网页进行限制性的访问
·实现session登陆时间的验证,验证用户登录页面的一个监听器
·Java基础:常用的匹配正则表达式和实例
·smarty实例教程
·ASP基础教程之ASP程序对Cookie的处理
·实例详细讲解ASP教程之ASP中使用变量的方法
·ASP入门:认识ASP程序所使用的几种脚本语言
·ASP入门知识:简单介绍ASP的基础知识
·ASP技巧:ASP中三个常用语句的使用技巧

面向对象的应用服务层设计

日期:2008年5月30日 作者:清风网络学院 查看:[大字体 中字体 小字体]


前言

  N层的应用软件系统,由于其众多的优点,已经成为典型的软件系统架构,也已经为广大开发人员所熟知。在一个典型的三层应用软件系统中,应用系统通常被划分成以下三个层次:数据库层、应用服务层和用户界面层。如下图所示:

  其中,应用服务层集中了系统的业务逻辑的处理,因此,可以说是应用软件系统中的核心部分。软件系统的健壮性、灵活性、可重用性、可升级性和可维护性,在很大程度上取决于应用服务层的设计。因此,如何构建一个良好架构的应用服务层,是应用软件开发者需要着重解决的问题。

  为了使应用服务层的设计达到最好的效果,我们通常还需要对应用服务层作进一步的职能分析和层次细分。很多开发者在构建应用服务层的时候,把数据库操纵、业务逻辑处理甚至界面显示夹杂在一起,或者,把业务逻辑处理等同于数据库操纵,等等,这些,都是有缺陷的做法。本文,就在这个方面进行设计时可采用的方案进行一些探讨。

  为了使讨论更具有针对性,本文会讨论一些比较流行的系统架构,例如J2EE架构,以及JDO。在微软的.Net平台上,将以Websharp中间件为例。Websharp中间件是笔者开发的一个构建在微软.Net平台之上的一个中间件系统,也是实现文章所述的系统架构的支撑系统。选用这些架构做例子,也是因为.Net出现的时间比较短,目前在这个平台上没有成熟统一的架构,而J2EE是目前最成熟的构建企业应用的平台。

  自本人的《 利用.Net框架开发应用系统》和《 实战揭秘:开发.Net平台应用系统框架》两篇文章发表以来,收到很多反馈和来信,提出了很多问题。因为时间的关系,不能一一回复,因此,也借本文给大家一些解答。需要说明的是,原来的Jobsinfo现在已经做了升级,名称变更为Websharp。

  设计的原则和评判标准

  同软件工程的原则一样,应用服务层的设计,必须遵循的最重要的原则就是高内聚和低耦合。软件分层的本来目的,就是提高软件的可维护性和可重用性,而高内聚和低耦合正是达成这一目标必须遵循的原则。尽量降低系统各个部分之间的耦合度,是应用服务层设计中需要重点考虑的问题。

  内聚和耦合,包含了横向和纵向的关系。功能内聚和数据耦合,是我们需要达成的目标。横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。

  系统的框架,通常包含了一系列规范、约定和支撑类库、服务。

  对于如何判断一个软件的系统框架的优劣,笔者认为,可以从以下几个方面来评判:

  ◆ 系统的内聚和耦合度

  这是保证一个系统的架构是否符合软件工程原则的首要标准。

  ◆ 层次的清晰和简洁性

  系统每个部分完成功能和目标必须是明确的,同样的功能,应该只在一个地方实现。如果某个功能可以在系统不同的地方实现,那么,将会给后来的开发和维护带来问题。

  系统应该简单明了,过于复杂的系统架构,会带来不必要的成本和维护难度。在尽可能的情况下,一个部分应该完成一个单独并且完整的功能。

  ◆ 易于实现性

  如果系统架构的实现非常困难,甚至超出团队现有的技术能力,那么,团队不得不花很多的精力用于架构的开发,这对于整个项目来说,可能会得不偿失。简单就是美。

  ◆ 可升级和可扩充性

  一个系统框架,受设计时技术条件的限制,或者设计者本人对系统认识的局限,可能不会考虑到今后所有的变化。但是,系统必须为将来可能的变化做好准备,能够在今后,在目前已有的基础上进行演进,但不会影响原有的应用。接口技术,是在这个方面普遍应用的技巧。

  ◆ 是否有利于团队合作开发

  一个好的系统架构,不仅仅只是从技术的角度来看,而且,它还应该适用于团队开发模型,可以方便一个开发团队中各个不同角色的互相协作。例如,将Web页面和业务逻辑组件分开,可是使页面设计人员和程序员的工作分开来同步进行而不会互相影响。

  ◆ 性能

  性能对于软件系统来说是很重要的,但是,有的时候,为了能让系统得到更大的灵活性,可能不得不在性能和其他方面取得平衡。另外一个方面,由于硬件技术的飞速发展和价格的下降,性能的问题往往可以通过使用使用更好的硬件来获得提升。

  应用服务层的内容

  应用服务层,通常也被称为业务逻辑层,因为这一层,是应用软件系统业务逻辑处理集中的部分。然而,我将这一层称为应用服务层,而不称业务逻辑层,因为,这一层需要处理的不仅仅是业务逻辑,还包含了其他方面的内容。

  从完整的角度来说,应用服务层需要处理以下内容:

  ◆ 数据的表示方式

  数据,是软件处理的对象。从某种程度上来说,"软件,就是数据结构加算法"的说法,是有一定意义的。在面向对象的系统中,数据是用类来表示的,代表了现实世界实体对象在软件系统中的抽象。考虑所谓的MVC模式,这个部分的类属于M--实体类的范畴。由于应用软件通常会使用数据库,数据库中的数据,可以看成是对象的持久化保存。由于数据库一般是关系型的,因此,这个部分,还需要考虑类(对象)同关系型数据的映射,即通常所说的O-R MAP问题。

  ◆ 数据的存取方式

  如同上述所说,软件系统处理的实体对象数据需要持久化保存数据库中,因此,我们必须处理系统同数据库的交互,以及数据的存取和转换方式的问题。

  ◆ 业务逻辑的组织方式

  在面向对象的系统中,业务逻辑表现为对象之间的交互。有了上述的实体对象,以及对象的保存策略,就可以将这些对象组合起来,编写我们的业务逻辑处理程序。在业务逻辑的处理中,必须保证处理的正确性和完整性,这将会涉及到事务处理。通常,我们也会把业务逻辑封装成组件的形式,以得到最大的可重用性。

[1] [2] [3] [4] [5] [6] 下一页 




上一篇:MSN联系人中的小技巧

下一篇:Photoshop质感文字系列之:蟒纹字

相关文章:
·解决与HTTP 500 – 内部服务器错误错误信息有关的问题
·从零开始 无线网络终极应用宝典
·注册表应用100例—注册表使用全攻略之十一
·WindowsXP应用技巧的具体总结
·何谓HTTP 500内部服务器错误
·如何建立一个网站?规划、设计、目的、原则、宣传
·代理服务器使用原理与选购细则
·如何卸载netware客户服务
·各位网友能不能告诉我个速度快点的电信HTTP代理服务器?
·18个优秀的在线图片编辑服务网站
相关软件:
·C语言程序设计
·Dreamweaver 网页设计
·美工设计教程
·Photoshop CS经典创意设计200例
·Photoshop CS中文版平面设计师标准案例教程
·Windows环境下32位汇编语言程序设计
·颐家IDO在线互动设计软件
·Photoshop 7.0 平面 广告 装帧设计100例
·注册表实例应用视频教程swf
·超级DIY设计器V7.0 build 2143 特别版

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot