`
zhmocean
  • 浏览: 206135 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List"><!----><!----><style> <!----> </style><!----><o:p></o:p>

自从某年某月某日,某个组织宣称MVC的出现时(当然在此之前它已经存在了很多年),人们开始关注这个让人兴奋的词,不多久,它就一跃成为程设界家喻户晓的明星,被挂在了众多初学者、招聘者乃至各种商业机构的嘴上。

记得有人说过,一旦一个东西变成概念,那大众的眼睛就很容易被迷惑,那在这个万众追捧的神奇缩写背后又隐藏着什么呢?

MVC是什么<o:p></o:p>

这种刨根问底的问题很容易让人一时不知所措,因为表象的认识往往让人忽略了看似简单的答案。当然更会有很多人知道那个流行的答案:MVC就是Model-View-Controller的缩写,是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。

上面的解释不假,但它只是MVC表象的定义,而恰恰就是这个表象定义,让诸多初学者有了对神的敬畏。但是神真的存在吗?真的那么让人生畏吗?今天就让我们来找回答案。当然最根本的问题就是:

MVC到底是什么<o:p></o:p>

这要从我们的计算机系统体系结构说起,不管是我们熟知的冯诺依曼体系还是注重并行的哈佛体系等等其它体系结构,其最根本的任务就是,处理器/程序把数据加工后呈献给用户。说到这,聪明的你也许已经知道了,这个最基本的体系才是我们今天的重点:

MVC实质是人类活动最基本的活动原子。

活动原子<o:p></o:p>

活动原子是一个相对概念,代表了一个完整的处理过程,它在自己的领域内可被划分为输入、输出及方法三个不可拆分、不可孤立的元素,它是人类活动的最本质表现。

活动原子作为一个最基本的抽象,它具有递归性(即道生原理,详见道法归一――BeijingOpenParty November:Attraction From Autumn Wind(秋风引)纪要)。每个活动原子都有一个领域层次,一个领域层次是上层领域的元素,以此类推。一个复杂的活动可以分解为一个基于递归的多领域活动原子(领域递归的活动原子)。

我们都知道,计算机是人类创造出来用于能力延伸的,其本质还是人类活动,那么我们的系统同样可以被分解为一个领域递归的活动原子。这就是MVC

比如,一个系统从顶层被划分为数据层、控制层、视图层,这是顶层领域的MVC设计(某个组织甚至某类人一直在追捧的其实仅仅是这一个领域),而各层的领域内,又划分出各自的数据层、控制层、视图层(例如数据层的数据库同样具有文件系统、RDBMSSQL接口),一个系统的架构并不是(也不能)是平板的(即只有顶层的MVC),而是一个领域递归的立体系统。

MVC是系统设计的氧气,是不可或缺的指导思想,拿MVC来说事骗钱的都应该被唾弃。

分享到:
评论

相关推荐

    C#本质论(第3版)

    《C#本质论(第3版)》是针对C#编程语言和ASP.NET框架的一本入门级学习教材,旨在帮助初学者深入理解C#的核心概念和技术,并为ASP.NET Web应用程序开发打下坚实基础。该书内容全面,覆盖了从基础知识到高级特性的广泛...

    C_本质论(中文版).rar

    《C#本质论》是C#编程领域的一部经典之作,专为想要深入理解C#语言的程序员设计。这本书详细地介绍了C#的核心概念、语法结构以及编程实践,旨在帮助读者掌握C#的本质,从而更好地利用这一强大的面向对象语言进行软件...

    C_本质论(中文版)

    《C_本质论(中文版)》是一本深入探讨C#、ASP.NET、SQLDBA等IT技术领域的著作,由京华志与精华志两大知名出版机构联合出品。该资源旨在促进开发者之间的学习交流,同时也表达了对CSDN和微软等技术社区的支持。 C#是...

    ASP.NET 本质论 (全)

    《ASP.NET 本质论》这本书深入浅出地探讨了ASP.NET的核心概念和技术,旨在帮助开发者全面理解并熟练掌握这一技术。 1. **ASP.NET框架基础** ASP.NET框架提供了丰富的服务器控件、数据绑定机制和状态管理功能,使得...

    《JavaFx本质论》读书笔记1(1-2章)

    《JavaFx本质论》读书笔记1(1-2章)主要涵盖了JavaFX的基础知识和核心概念,这本书旨在深入解析JavaFX这一强大的GUI(图形用户界面)开发框架。JavaFX是Oracle公司推出的一种用于构建桌面应用、移动应用以及云计算...

    as.net本质论

    如果你只是想系统地学习如何简单地利用ASP.NET快速地进行开发,《ASP.NET本质论》也许不是你想要的:如果你不满足于只是会利用ASENET强大的控件功能完成一些常规应用的开发,而是想深入探究ASENET的本质和精髓,实现...

    Asp.Net 本质论

    总的来说,Asp.Net 本质论涵盖了从基础的Web Forms和MVC架构到高级的实时通信和身份认证等多个方面,深入理解这些概念和技术,能够帮助开发者充分利用Asp.Net的优势,创建高效、健壮的Web解决方案。

    asp.net 本质论 源代码

    总的来说,"ASP.NET本质论"这本书通过源代码的形式,深入探讨了ASP.NET的各个方面,从基础概念到高级技术,包括页面生命周期、服务器控件、编译模型、状态管理、MVC框架以及安全机制。无论是初学者还是经验丰富的...

    ADO .NET 本质论

    - **Struts**:Struts是Java EE平台上的一个MVC框架,与ADO.NET不在同一生态系统。然而,通过Web服务或其他中介,Struts应用可以与使用ADO.NET的后端系统进行通信。 总结,ADO.NET是.NET框架下的数据访问技术,通过...

    电子商务平台,jsp+servlet+javaBean MVC设计模式,项目源码+数据库SQL文件全套,适合新手

    JSP最终会被编译成Servlet,因此它本质上也是服务器端的脚本语言。在这个电子商务平台上,JSP可能被用来创建用户界面,显示商品列表、购物车、订单详情等信息。 **Servlet**: Servlet是Java Web开发中的另一种核心...

    论文管理系统-jsp+mysql

    2. Servlet:JSP的本质是Servlet,理解其生命周期和接口方法是必要的。 3. JDBC(Java Database Connectivity):用于与MySQL数据库交互,包括连接、执行SQL语句、处理结果集等。 4. MVC设计模式:如何在JSP和...

    JSP网上书城+论文+源码毕业设计

    2. **Servlet技术**:因为JSP本质上是Servlet的简化版,需要了解Servlet生命周期、请求处理和响应生成等概念。 3. **MVC模式**:该项目可能采用了Model-View-Controller设计模式,以分离业务逻辑、数据和用户界面。...

    基于ssm+mysql软件缺陷管理系统源码数据库论文.doc

    7. **软件跟踪**:软件跟踪功能允许系统记录缺陷的整个生命周期,从发现到解决的每一个步骤,有助于理解问题的本质,优化工作流程,并提供决策支持。 8. **度量和报告**:通过对缺陷数据的统计和分析,系统能够生成...

    JSP计算机等级考试查询系统(源代码+论文+答辩PPT).zip

    2. **Servlet**:JSP本质上是Servlet的简化版本,JSP页面在服务器端会被转换成Servlet。Servlet是一种Java类,用于扩展服务器的功能,处理HTTP请求并生成响应。 3. **MVC(Model-View-Controller)模式**:在Web...

    jsp毕业设计——jsp基于WEB的考务管理系统的设计与实现(源代码+论文).zip

    2. **Servlet技术**:虽然JSP主要用于视图层,但其本质是Servlet的扩展。在本项目中,Servlet可能用于处理HTTP请求,执行业务逻辑,并调用数据库服务。Servlets与JSP配合使用,可以更好地实现数据处理和页面跳转。 ...

    jsp学生课绩管理系统(源代码+论文).zip

    3. **MVC模式**:大多数JSP应用都采用Model-View-Controller架构,理解如何组织代码以实现MVC设计模式,比如使用JSP作为View,Servlet作为Controller,以及数据模型的创建。 4. **JavaBeans**:可能在系统中用到...

    jsp 论文 ppt 代码

    - JSP本质是Servlet,它们都用于处理HTTP请求,但JSP更注重视图展示,而Servlet则更专注于业务逻辑。 - JSP到Servlet的转换是自动进行的,JSP编译后生成的Servlet继承自`HttpJspPage`接口。 4. **EL(Expression ...

    jsp仓储管理系统设计(源代码+论文).zip

    3. **MVC设计模式**:仓储管理系统很可能采用了MVC(Model-View-Controller)架构,将业务逻辑(Model)、用户界面(View)和控制逻辑(Controller)分离,以提高代码的可维护性和可扩展性。 4. **数据库管理**:...

    JSP毕业设计——JSP网络购物中心毕业设计(源代码+论文).zip

    5. **Web应用结构**:项目可能遵循MVC(Model-View-Controller)架构模式,模型负责业务逻辑,视图负责显示,控制器负责协调两者。源程序可能包含了对应的模型类、控制器类以及JSP视图页面。 6. **安全与性能**:一...

Global site tag (gtag.js) - Google Analytics