- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于三层架构的映射方法研究.doc
基于三层架构的映射方法研究
【摘 要】传统的三层架具有层次清晰、任务明确的特点,但软件的设计和编码也涉及到三个层次,不同层次涉及到不同的开发语言、工具和方法,使得软件的设计、编码、测试和维护困难,软件开发效率和质量难以保障。本文通过对三层架构映射模型的建立,采用规则引擎、组件引擎、代码生成技术和组件解析技术实现了一层到三层的映射,在保留三层架构优点的基础上,简化了软件设计和开发的难度,提高了软件开发的效率和质量。
【关键词】三层架构 映射方法 组件引擎 规则引擎 代码生成
三层架构是指在客户端浏览器与后台数据库间加入了一个可称为组件层的中间层。组件层分为业务逻辑层BLL、数据访问层DAL、数据对象模型层Model[1]。三层架构的优点是层次清晰,提高了系统设计的灵活性、可扩展性和可维护性。但是,从三层架构的各层来看,具有涉及的开发语言多、开发工具多的特点:(1)表示层的设计复杂。在表示层,需要对用户界面进行设计,界面是实现人机友好交互的接口,界面的友好性对用户体验有直接影响[2]。WEB表示层的设计涉及页面布局、图片处理、人机会话等技术,这些技术需要多种工具和语言来完成,如Photoshop、html、div、js等,不同内核的浏览器在表示层存在较大的兼容性问题,导致同样的界面在不同浏览器中的表现形式不一致,甚至部分功能失效。(2)业务逻辑层的实现复杂。在业务逻辑层,通过对业务逻辑的封装,对表示层进行隐藏实现,表示层通过调用业务逻辑层的接口来实现各种操作。业务逻辑层是表示层和数据访问层的纽带,需要处理各种复杂的算法实现问题。实现业务逻辑层的语言有VB、C#、JAVA等,不同语言的开发环境、语法格式、基础类库等差异较大,开发过程中需要进行大量的编码工作。(3)数据访问层的差异较大。在数据访问层,需要解决不同数据库的存取问题,不同类型的数据库在连接方法、数据类型、SQL查询语句、存储过程、用户自定义函数的语法格式方面存在差异,这些差异需要技术人员在开始过程中查阅相关的帮助文档才能解决,消耗了大量的时间和精力。
1 三层架构技术比较
1.1 MVC
MVC在开发复杂的大型网站时,能将不同的功能作切割,提高程序代码的可读性,以及组件的可重用性。MVC纵向切割了开发过程中的代码,从服务器到浏览器层层分离。层次之间耦合度很低。但MVC无法封装,所以无法被重用[3]。
1.2 MVP
MVP演变自MVC,通过表示器将视图与模型巧妙地分开。在该模式中,视图通常由表示器初始化,它呈现用户界面(UI)并接受用户所发出命令,但不对用户的输入作任何逻辑处理,而仅仅是将用户输入转发给表示器[4]。
1.3 WPF
WPF涵盖了桌面应用程序开发、网络应用程序开发和移动应用程序开发,是微软开发技术未来十年的主要方向。WPF 基于DirectX 底层接口,带来优秀的图形向量渲染引擎,因此相对于上一代GDI/GDI+编程模型有了质的飞跃,可以轻松实现2D/3D 绚丽效果,比如半透明、图形翻转、平移、缩放等[5]。
2 映射模型设计
通过对三层架构常见模式的优缺点进行比较,提出三层架构的映射模型,如图1所示。
2.1伪码文档
伪码文档是一个二维表结构,其行列结构可通过代码生成器的算法转化为HTML代码。在伪码文档的单元格中,通过规则表达式描述各单元格中的组件类型、组件属性以及组件的数据接口。按照组件引擎和规则引擎的约定,在伪码文档中还可描述数据库的表结构、表间关系、业务流程及用户权限。
2.2 组件引擎
组件引擎是由表单、数据列表、报表、业务流程、图文、视频等具有通用性的组件组成的组件库,其底层实现细节通过JAVA、C#等支持面向对象的WEB开发语言实现。组件引擎除包含常见的组件外,还可根据其提供的标准和统一接口进行组件扩展,组件的标准接口包括组件ID、组件类型、数据库类型、可编程性数据接口、界面描述、外部文件引入路径,在此基础上,可扩展新加入组件的其他属性。
2.3 规则引擎
2.3.1表结构描述规则
(1)表结构描述规则。关系数据库的表结构通过“TableName={字类名 $ 字段类型 $ 字段长度 $ 验证方式 $ 字段说明}”的方式进行描述,字段的验证方式是指对字段对应的控件在接收用户输入的数据时进行的有效性验证,常见的验证方式包括身份证号、电话、邮编、电子邮箱、整数、小数、日期、时间等,用其对应的英文名作为伪码描述。
(2)表间关系描述规则。表单关系包括1对1,1对多和多对多关系,通过规则表达式“{表x-字段1 or n = 表y-字段1 or n}”进行描述。若同一表与多表之间存在关系,则可通过编写多个表间关系表达式进行描
文档评论(0)