石家庄建站平台

十年经验 优惠价格 贴心服务

服务热线 15383239821

MVC和三层架构的区别

发布时间:2013-10-30    来源:

首先说三层架构:
 
UI(.aspx)---------> BLL(业务处理)------> DAL(数据处理)----> 永久存储(数据库)
  
 
MVC:MVC(Model View Controller)模型-视图-控制器
   
 
很明显都是从整体上“策划”一个web项目的实现逻辑
 
共同点:三层架构的UI层相当于MVC中的View层,作为视图,再说白一点,都是页面
 
 
区别:BLL+DAL相当于MVC中的Model层,Model层实现系统中的业务逻辑,当然也包含了数据访问的逻辑
 
 
三层”中典型的Model层是已实体类构成的,而MVC里,Model则是由业务逻辑与访问数据组成的,
 
 
Model层又分为不同的层(个人认为就是三层架构的DAL+BLL),它的分层也是为了结构清晰和低耦合,(高内聚:单一责任;低耦合:模块独立)
 
 
区别比较大的就是三层架构中没有Control层,而是由单个页面上的控件的事件处理页面与业务逻辑之间,而MVC中control层是作为联系视图层和Model的纽带,使得整个项目的结构更加清晰,降低了耦合性。 
 
 
举例说明这两种方法不同的实现思路:A在上海的浦东区逛街,有人要抢劫他,打110报警了,B在闵行区也被劫持,他也打110报警了,他们打110的时候,接电话的是上海市公安局总部指挥中心,对于A,来解救他是浦东分局的警察,对于B,解救他的是闵行分局的警察,对于AB来说,他们不需要关心到底是谁来解救他的,他们只管打110报警(类似于页面数据由action提交到控制器),由110指挥中心确定他的位置然后派出具体的地方警局去营救(控制器根据需求调用model层去完成对应的数据处理)。而三层架构在这个过程中就像A或B被劫持了,他们直接找到当地警(调用BLL层方法)的警察来处理.

 

三层是垂直依赖的
而MVC是松耦合的

三层没有设计模式基础一般也能整体把握

MVC的话必须有设计模式基础才能比较好的全局掌握,但是如果是只做Controller/Views的一部分的话就不用那么多,这样便于分离

三层结构清晰

MVC使用得当易于复用,而且开发速度很快

 


还没开展互联网业务? 马上开始

关注多多建站公众号
扫码加好友