`
java-mans
  • 浏览: 11449991 次
文章分类
社区版块
存档分类
最新评论

不同的MVC

 
阅读更多

MVC的出现是很久很久以前的事情了,MVC本身有很多可以去说的地方,通过另一个视角去看MVC,

MVC不属于GOF设计模式,但它确实设计模式应用的集合,且拥有很多的实现方式,如:MFC的Document/View/Control,Qt的Model/View/Delegate,IOS的View/Controller/Delegate,java EE的Model/View/Control。如此多的实现让人眼都发晕。那MVC的本质是什么呢?

MVC和其他原始的设计模式一样都是为了分离变化,将不变与变化相分离,使系统更加灵活。MVC关注的对象包括:视图也就是看的见的实现的内容,模型即需要显示的数据,控制是最重要的部分它是控制视图如何渲染、模型如何管理的关键点。

MVC就体使用了那些经典设计模式呢?代理、桥接、观察者、适配器、建造者等,不同的实现具体使用到的设计模式也有所不同,但都最终实现了针对于视图和模型的相分离,并提供了统一的调用接口和绑定方法。我们从设计模式的基本原则来看一下MVC实现。

  1. 开闭原则,这个模型中你只能从基类扩展
  2. 抽象类,开发库提供了基础的接口你只需要去实现就可以
  3. 里氏代换,你实现的接口一定能够替换掉原来的抽象类的,不然系统就转不动了
  4. 依赖倒转,在原型中它只有接口而没有实现
  5. 接口隔离,三个接口你自己去实现,且有独立的功能
  6. 迪米特法则,不要直接在model中操作View,那是代理的事情
  7. 合成复用,你在设置model和delegate是就应该知道他们都在View或者controller中组合(不同的模型可能不同)

MVC的模型的方法不仅仅只在涉及到UI开发时能够应用,其他方面我们也能够应用到其中的方法。

分享到:
评论

相关推荐

    不同MVC项目通过区域融合成一个项目

    不同MVC项目通过区域融合成一个项目。通过路由注册实现的不同MVC项目通过区域融合成一个项目。

    ASP.NET MVC项目实例

    ASP.NET MVC从一开始的设计思路就与Struts不同,它的映射是利用路由配置而非xml,从而大大降低了开发复杂度,并且比Struts要更直观,更容易上手。可是,这并不表明ASP.NET MVC就是尽善尽美的。以下是MVC的一个项目...

    MVC Demos 里面包含不同的控件传值

    MVC demos里面包含不同的控件传值

    ASP.NET MVC 4高级编程 第4版PDF.rar

    解释ASP.NET MVC框架与“文件页”Web框架的不同之处; 介绍控制器、视图、模型、表单、HTML辅助方法、数据注解、验证、成员资格、授权、安全和路由; 着重介绍最核心的主题:Ajax、jQuery、NuGet、依赖注入、单元...

    ASP.NET MVC4 中文版.rar

    本书介绍了微软最新的ASP.NET MVC4框架,包括如何使用ASP.NET MVC4框架构建Web应用程序,ASP.NET MVC4框架的运行原理,如何在真实开发场景中使用ASP.NET MVC4框架新特性来解决不同的需求,如何使用HTML、JavaScript...

    MVC根据不同区域名绑定不同域名

    http://localhost:6655/SellerAdmin/FullDiscount/BuyMarketService

    asp.net mvc4 实现用户登录

    asp.net mvc4 实现用户的登录验证

    MVC设计模式.ppt

    PHP与JAVA在MVC模式上的不同之处 MVC设计模式的优势 MVC设计模式的缺点 MVC结构提供了一种按功能对各种对象进行分割的方法,其目的是为了将各对象间的耦合程度减至最小。MVC结构本来是为了将传统的输入(input)、...

    ASP.NETMVC4

    《ASP.NET MVC 4 Web编程》介绍了微软最新的ASP.NET MVC 4框架,包括如何使用ASP.NET MVC 4框架构建Web应用程序,ASP.NET MVC 4框架的运行原理,如何在真实开发场景中使用ASP.NET MVC 4框架新特性来解决不同的需求,...

    asp.net MVC三层架构

    Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。 通常模型对象负责在数据库中存取数据。...不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。这个适合刚接触三层架构的来学习,比较简单。

    MVC3中在同一解决方案的不同项目中实现Area功能

    简单介绍在MVC3中实现Area的功能,想用MVC实现插件化的朋友可以看一下。

    [中文版]PureMVC[最佳实践.PDF]在不同平台语言下的阐述、实现

    PureMVC在不同平台语言下的阐述、实现,PureMVC所使用的模式在“四人帮”的《设计模式:可复用面向对象软件的基础》一书中有很好的论述。

    MVC4 安装包+汉化

    asp.net MVC4.0开发框架 MVC是一个建立在ASP.NET平台上基于MVC模式的Web开发框架,它提供了一种与传统Web Form完全不同的Web应用开发方式

    MVC+EASYUI+通用权限管理

    技术特点:三层工厂模式架构,JQuery Ajax+MVC+EASYUI 功能描述:通用权限管理系统,主要运用非常典型的三层工厂模式架构, 界面友好,运用了JQuery Ajax,实现了根据多个角色组合来实现用户的权限。

    asp.net mvc视频1-2

    MVC架构模式是近年来编程世界里最长被提及的模式之一,Model View Controller(模型-视图-控制器,MVC)模式将你的软件组织并分解成三个截然不同的角色: ◆Model封装了你的应用数据、应用流程和业务逻辑。 ◆View从...

    Qt5实现的一个mvc的例子

    libgitlmvc 是一个基于Qt构建的的C++ MVC 框架 概览: View<====>Front Controller<====>Commands<====>Model 该框架包括四个部分: 视图: 用户交互界面 前端控制其(Front Controller): 处理所有的视图请求 ...

    ASP.NET MVC 医疗管理系统 项目答辩

    ASP.NET MVC+VUE+Jquery+Bootstrap 开发,前后分离 开发模式,本系统根据不同角色进入,操作不同的模块。对数据的增删改查。

    ASP.NET MVC 4高级编程(包含源码)

    ◆ 解释ASP.NET MVC框架与“文件页”Web框架的不同之处 ◆ 介绍控制器、视图、模型、表单、HTML辅助方法、数据注解、验证、成员资格、授权、安全和路由 ◆ 着重介绍最核心的主题:Ajax、jQuery、NuGet、依赖注入、...

    ASP.NET MVC 4 Web编程

    本书介绍了微软最新的ASP.NET MVC 4框架,包括如何使用ASP.NET MVC 4框架构建Web应用程序,ASP.NET MVC 4框架的运行原理,如何在真实开发场景中使用ASP.NET MVC 4框架新特性来解决不同的需求,如何使用HTML、...

    Asp.Net MVC视频教程(4)

    MVC架构模式是近年来编程世界里最长被提及的模式之一,Model View Controller(模型-视图-控制器,MVC)模式将你的软件组织并分解成三个截然不同的角色: ◆Model封装了你的应用数据、应用流程和业务逻辑。 ◆View从...

Global site tag (gtag.js) - Google Analytics