先说下两者出现的目的:
三层是一种为了Project间解除耦合所提出来的简单的分层方式
但MVC其实并不是基于Project的分层方式,而是一种解除展示模板与主要访问控制依赖的设计模式(其实全部都是基于UI的)
【这段楼主可不看:不过有同学说 V是三层的UI,C是三层的BLL,M是三层的DAC,这么说其实不是很对 UI可以认为是 UI=C+V+VIewModel而数据库访问的Model要根据是否是充血模型来判断是否归属于DAC】 再说下两者是基于什么来工作的:
简单说三层至于基于项目,MVC可以基于面向对象关系(即MVC可以在一个项目中,而三层至少要三个项目),而MVC和三层也可以共同使用,本身并不冲突 下面我再说下两者的知识储备(这里说的是理解,而不是使用,使用的话当然可以不求甚解,但我觉得不求甚解的使用方式是对个人不会有提高的,项目做完了,啥也没学到,其实也没意思):
三层:相对来说有简单的面向对象知识,面向接口编程知识即可写出简单的三层
MVC:首先要完全了解面向对象,以及设计模式(因为MVC本身是复合设计模式,所以至少要了解GOF95那些)的知识基础,也要了解面向切面编程以及 各种程序解耦的方式 总结一下:
MVC与三层,共同的地方只有一点,就是看起来都是三个组成部分。但其使用的目的是不一样的,就算使用(MVC -BLL-DAC)这种形式,也是可以的。
如果真正了解MVC的同学,因为有了一定的学习基础,即便不会三层,也可以通过简单学习快速使用三层,因为三层的学习代价并不大。
一切的设计模式都是为了解耦而生,至于为什么需要解耦,就需要了解耦合的所有坏处。 原文地址:http://zhidao.baidu.com/link?url=dZ9W8vjRJvRvzXMaimuoeJnZX-ETDqsUl2S8IsK5dLqlNOmydpCAW43T3OS1iWJ2kH_T6OFVKOX-UMa4MfjaDK

(转)三层和mvc的更多相关文章

  1. 三层与MVC

    三层架构(3-tier architecture) 我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一 ...

  2. tornado框架&三层架构&MVC&MTV&模板语言&cookie&session

    web框架的本质其实就是socket服务端再加上业务逻辑处理, 比如像是Tornado这样的框架. 有一些框架则只包含业务逻辑处理, 例如Django, bottle, flask这些框架, 它们的使 ...

  3. 求职之路共分享——亲身面试题(一) 1/三层与MVC区别

    转自http://www.cnblogs.com/ndxsdhy/archive/2011/08/04/2127908.html 觉得这篇文章挺容易理解的, http://www.cnblogs.co ...

  4. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(一)—— 手把手教你创建第一个三层架构+mvc的asp.net项目

    下面开启项目 1. 打开vs2010-文件-新建项目 2. 先创建一个空的解决方案: 选择其他项目类型-visual studio 解决方案-空白解决方案(默认.NET Framework 4),项目 ...

  5. 三层架构(MVC)实现简单登陆注册验证(含验证码)

    前言在我的上一篇微博里我已经提出了登陆的方法,当时我采取的是纯servlet方式,因为当时刚接触到servlet,正好网上没有这方面的全面讲解,所以我就发飙了.不过在现实生产中我们大多采用的三层架构. ...

  6. 三层和MVC

    一样写啊... 比如DAL层: C# code? 1 2 3 4 5 Public void Update(XXXXX.Models.News model) {         db.Entry(XX ...

  7. 【转】浅谈MVC与三层架构

    首先给大家引入下MVC的概念: MVC(Model View Controller)模型.视图以及控制器,它是一种较为广泛应用的结构设计模式. 模型:就是在MVC设计模式中需要被显示的数据.在通常情况 ...

  8. 浅析MVC模式与三层架构的区别01

    三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层)三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI ...

  9. MVC项目实践,在三层架构下实现SportsStore,从类图看三层架构

    在"MVC项目实践,在三层架构下实现SportsStore-02,DbSession层.BLL层"一文的评论中,博友浪花一朵朵建议用类图来理解本项目的三层架构.于是就有了本篇: I ...

随机推荐

  1. Storage protocol stacks

    http://brasstacksblog.typepad.com/brass-tacks/ http://brasstacksblog.typepad.com/brass-tacks/2016/02 ...

  2. Django和Flask的区别以及运行流程

    Django: Python Web框架里比较有名当属Django,Django功能全面,它提供一站式解决方案,集成了MVT(Model-View-Template)和ORM,以及后台管理.但是缺点也 ...

  3. JAVA Eclipse的Android的进程和生命周期是什么

    安卓程序的生命周期是不受自己控制的,安卓的程序根据不同的重要性做了一些区分,最重要的进程仅仅在安卓已经崩溃或者卡死的情况下才会终止前台进程.   Activity就是表现层的界面,它有三种常见的状态, ...

  4. SGU 231 Prime Sum 求<=n内有多少对素数(a,b)使得a+b也为素数 规律题

    题目链接:contest=0&problem=231">点击打开链接 题意: 求<=n内有多少对素数(a,b)使得a+b也为素数 思路: 我们发现全部素数间隔都是> ...

  5. OJ刷题---ASCII码排序

    题目要求: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluaGFpeXVuX3l0ZHg=/font/5a6L5L2T/fontsize/400/f ...

  6. kotlin 语言入门指南(一)--基础语法

    基于官网的Getting Start的基础语法教程部分,一共三节,这篇是第一节,翻译如下: 基础语法 定义一个包 包的声明必须放在文件头部: package my.demo import java.u ...

  7. sphinx PDF 中文

    使用reST撰写文档时,需要分多个文档时,就必须使用sphinx了,sphinx说起来很简单的,但是默认是不是支持中文的.幸好我出生的晚,sphinx现在已经支持xelatex了^_^ 安装 除了pa ...

  8. struct timeval 和 struct timespec

    struct timeval { time_t tv_sec; suseconds_t tv_usec; }; 測试代码例如以下: #include <stdio.h> #include ...

  9. 整合Kafka到Spark Streaming——代码示例和挑战

    作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管.本文,Michael详细的演示了如 ...

  10. Java过滤特殊字符

    Java正则表达式过滤 1.Java过滤特殊字符的正则表达式----转载 java过滤特殊字符的正则表达式[转载] 2010-08-05 11:06 Java过滤特殊字符的正则表达式   关键字: j ...