MVC与三层

 

今天看视频的李宁项目的视频的时候,突然发现了一个问题,这个问题就是:关于MVC和三层架构 1.是不是一回事?2.有什么区别?3.如何解释这个问题?

MVC阐述:

        MVC (Model View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。MVC是一种软件设计模式。

         MVC与J2EE架构的对应关系是:View处于Web Tier或者说Client Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于Middle Tier,通常用服务端javaBean或者EJB实现,即业务逻辑部分的实现。

         MVC关键在于构建Model,Model就是MVC模式的灵魂,它包含了三层架构里的“实体层”,“数据访问层”“业务逻辑层”。Controller用来收集View提供的用户数据,传递给Model,同时返回Model处理后的数据给View。

        在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。 

         三层架构是最基本的项目分层结果,而MVC则是三层架构的一个变体,MVC是一种好的开发模式。首先你要明白MVC分别代表的是什么意思.
                 M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
                 V 即View(视图层),主要用于显示数据和提交数据
                 C 即Controller(控制器),主要是用作捕获请求并控制请求转发
三层阐述:       

         三层架构通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。


         三层:UI 界面层 BLL 业务逻辑层,DAL数据访问层,Model 实体层

区别:
         MVC中的的M 不是三层中的Model(实体层),他其实包括三层中的 BLL,DAL,Model,这是非常要注意的,这也是他们之间的区别的关键所在

相同点:          

        他们相同的设计理念就是:把视图设计与数据持久化进行分离,从而降低耦合性,易于扩展,提高团队开发效率。

学习反思:

        感觉自己接触了这么长时间的三层和MVC根本就没有从概念上(本质上)去寻找他们的不同,做了机房收费系统,教务系统和李宁界面系统对这个问题没有引起重视,师弟们问题来还解释的不是很好,为什么当时就不能自己查找一下找到问题的答案哪,为什么自己没有重视这个问题哪,这一系列的问题,我想我自己应该做好反思,遇到知识不能将就,要尽量利用工具找到答案,掌握最根本的灵魂。这才是我们永无止境的追求(仅此一段话作为自己的反思,当做生命中的记录)

        交流促进彼此的增长,让知识的理念深入脑海,共同进步......

 

 

 

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值