对mvc及三层架构的个人理解

昨天无意间看到一篇关于mvc的博客,然后自己查了下资料,看到很多网上关于mvc及三层架构有不同的解释和说法,其实以前在学习的时候就感觉没搞懂,最近自己工作对这个问题也有一点个人的理解,不知道正确与否,如果有问题希望能指出共同进步。
基本的mvc的字面意思和三层是架构是什么不多说,直接说说个人的见解,我觉得最近在实际的工作中感觉,如果要实现mvc的高内聚低耦合的设计理念,将一个项目分为三层,仅仅将视图和逻辑分开是完全不够的,因为没有将具体业务逻辑和数据库逻辑分离开来,没有贯彻低耦合的思想,当业务需求发生改变需要变更数据库时,需要修改大量代码,后期的维护特别麻烦,个人觉得按照这种分层思想已经不满足如今的需求的,个人理解是mvc应该分为5层,分别是下面这5层。

1.视图层(html/jsp/)等用户能看得到的信息,数据信息的开始和结束。
2.控制层(servlet/action),控制层不处理任何业务(包括业务逻辑和数据库逻辑),只为控制流程,实现跳转功能,只调用service层的结果实现跳转功能,控制层的逻辑更偏向视图层,为视图层提供服务。
3.服务层(service):专门处理业务逻辑,是控制层和DAO的中间过渡层,根据DAO层的返回结果的不同,处理不同的业务逻辑,并将结果向上返回给控制层。
4.DAO层:专门处理各种数据库逻辑,包括对数据库的CRUD,存储过程/函数各种操作,提供访问数据库的接口,DAO层更偏向于model。
5.数据模型层:专门封装数据原始模型(javabean/DTO),本身不提供任何对数据库的操作,只提供接口供DAO层调用数据。

从上到下依次为视图层,控制层,服务层,DAO层,数据模型层。

个人理解,新人刚入门,有错误的地方希望指出共同学习。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值