Web开发之划分层次

        对于Web应用开发项目的程序,为了便于开发、维护等要求,需要对程序逻辑划分层次。一般都采用经典的MVC框架来分层次,也有些项目划分出更多的层次,目的都是为方便项目的开发、维护等。划分层次都有一些原则或规范,划分原则、规范的是否合理,程序员是否都能按照这种约定的原则、规范来实行到具体的程序中,就是一个值得探讨的课题。比如:由于划分原则、规范并没有成文的约定,只是作为一种约定俗成的约束,有时有些概念也很含糊,程序员就可能误解了划分原则、规范,按照自己的方式来进行程序的开发,没有人及时给予指导,这样程序的开发不可控,或者并没有发挥好分层次开发的优势。

        我们先来看一下MVC框架划分的层次。M为模型层,主要包含业务分析总结的实体对象,涉及数据库持久化的程序,ORM(对象关系映射)生成的实体对象也应该属于此层次的程序;C为控制层,主要包含业务逻辑的程序,根据业务请求参数,经过业务逻辑处理,产生出相应的响应数据返回给V视图层,V为视图层,体现为界面展现,主要是提供界面的输入,调用控制层,经过控制层的处理后,返回给界面数据。主要原理基本上是这样。实际的Web应用中经常会划分为其他层次,特别是C控制层会划分出更多层次,比较常见的如Spring-MVC划分为Controller层、Service层、DAO持久化层、Model资源层、视图层,其中Controller层作为一个处理中心,主要负责将请求数据解析、转换成合适的业务对象,再调用Service层的业务方法进行业务逻辑处理,处理完后,将结果数据提供给视图层;Service层主要提供业务方法接口,主要的业务逻辑处理都在这里,它可以调用DAO持久化层,访问资源层方法,获得并处理相应的业务数据;DAO持久化层主要与资源层交互,访问处理相应的资源数据;视图层是个输入输出的交互终端,可以改变不同方式的视图来输入输出数据,如jsp,html,velocity等。还有struts的MVC,主要是C控制层不同,Action层取代Controller层,这里就不多讲了。

       分层次开发有个好处是可以多人协作分工开发,提高开发效率。比如对同一个功能模块,由不同的人开发不同的层次,如果层次划分得当,层次接口清晰明确,可以大大方便开发,按照面向对象思想接口隔离原则,不同层次可以是相对独立来开发的,如果层次被设计或者程序员编码弄得耦合度很高,使多人协作开发不能很好的配合,反而效率降低,有时甚至还不如一个人开发一个完整的功能模块效率高,这样我们就要考虑是否需要改善层次划分的设计原则、规范,或者对程序员进行培训,明确各层次的职责功能等各种措施,来提高开发程序的质量和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云焰

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值