首 页
产品
方案
体验
视频
优势
客户
知识
联系
电话:0791-88108826
微信:lvyeoa
 
绿叶OA优势
技术框架
绿叶OA办公系统客户培训现场
绿叶OA办公软件客户案例
电话:0791-88108826
售前:413400260
售前:2645991708
售后:2449720376
售后:1479170164

探讨OA软件热门实用技术之一:MVC架构
                                
发布时间:2009-9-29 8:53:08



     以前有人说OA软件的技术含量比较低,所以竞争很混乱,确实有点道理,但现在有实力的OA厂商们越来越注重对先进技术的使用,逐渐提升了自己的产品实力,拉开了与竞争者之间的差距.

  本文将从发展的角度探讨近年来应用在OA软件上的一系列热门技术,这些技术对用户的使用将发挥重要价值.

  MVC(Model/View/Controller)架构并不是一种新兴技术或者新兴思想,它是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用,在国内,尤其是OA软件领域也得到了充分的应用.

  先简要介绍一下MVC架构的内容和工作过程:

  1、模型(Model):

  模型是应用程序的主体部分.模型表示业务数据,或者业务逻辑.在MVC的三个部件中,模型拥有最多的处理任务.例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库.被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据.由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性.

  2、视图(View):

  视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面.如何处理应用程序的界面变得越来越有挑战性.MVC一个大的好处是它能为你的应用程序处理很多不同的视图.在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式.

  3、控制器(controller):

  控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态.控制器接受用户的输入并调用模型和视图去完成用户的需求.所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理.它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据.

  简单来说MVC的工作过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户.

  通过实例来看看看MVC架构的好处:

  华天软件作为一个注重技术优势的公司,是国内最早采用MVC架构的OA厂商之一,

  通过在其网站上(www.oa8000.com)公布的DEMO版本,我们可以看出采用该体系结构的最大的好处是:数据与控制层与界面相互分离.

  1、这是最重要的,多个视图能共享一个模型,现在需要用越来越多的方式来访问你的应用程序.对此,一个好的办法就是使用MVC,无论用户想要Flash界面或是 WAP 界面,用一个模型就能处理它们.由于已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了,这就大大提升了对用户个性化需求的响应速度.

  华天OA系统比传统的MVC更进一步,界面层没有一行程序代码.不象传统的JAVA程序,前端是JSP,后端是Java Bean.实现了界面层与控制层的完全分离,用户即使不懂程序开发也能更改界面.

  华天OA系统前端没有一行JAVA和JSP代码,是纯HTML和文本文件.所以,界面的改动将异常简单.他们在自己的方案里面承诺:换掉所有的界面,仅需要10天.

  2、因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则.比如你想把你的数据库从MySQL移植到Oracle,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可.由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松偶合的构件.

  在华天OA的数据层,可通过中间件进行沟通,这样不需要书写任何一行代码,通过简单的类与数据库表的映射实现数据库表的增删改.整个程序中没有一条SQL语句,不修改代码就可实现自动切换到各种数据库类型(如MySQL/SQLSERVER/ORACLE).

  3、可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段,这样能够极大的提升开发效率,并且保证系统的稳定性.

  4、通过标签定义实现与业务层的连接.在HTML页面中,没有一行程序代码,只有标签定义.如果页面需要变更,只须更改标签与业务层的连接关系.

  5、内部通过独立的子工程管理,这样既能保证各个子工程的系统独立性,又能确保对系统的整体管理.

  6、通过页面与程序的分离,实现了多语言和多风格的不同展示系统.
 


联系我们
电话:0791-88108826
微信:lvyeoa
QQ:413400260
QQ:2645991708
Email:oa169@163.com

核心产品

医院内部办公系统
智慧政务协同办公
企业OA办公平台
教育综合办公系统
建筑企业网络办公
移动办公系统

微信联系

©2007-2024 南昌绿新软件技术有限公司赣ICP备12000799号