求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
 
MVC框架的 家庭版诠释
 

2011-1-18 来源:网络

 
     正如题所说,本篇文章是MVC框架家庭版的诠释,也只是很泛泛的一个想法,只是让大家更方便理解MVC框架而已。当然还要满足一个必要的条件,那就是你已经结婚,并且生活了一段日子,就更能理解我讲的这些,哈哈,言归正传,我们开始进入主题。

  在MVC框架的设计目标很明确,即把程序分为低耦合的三层:Model、View和Controller。这样的设计降低了模块间的耦合性,各模块如何结合在一起工作对于创建易扩展,易维护的应用程序是非常重要的。这就好比一个大家庭中成员一样,爸爸干什么,妈妈干什么,孩子干什么各有各的分工。

  首先说Model,字面的意思是模型,它完成的是程序员编写程序应有的功能(实现算法等等)以及数据库专家进行数据管理和数据库设计(可以实现具体的功能)。其次是Controller,主要负责转发请求,对请求进行处理,将Model以合适的方式显示出来。最后是View,即界面设计人员进行图形界面的设计,它同时从属于Controller。可以看的出,如果我们开始使用MVC框架来设计程序时,就应该注意划分哪些是属于Model,哪些是属于Controller,哪些是属于View。尽管在最初构建MVC模式框架时会花费一定的工作量,但是从长远角度来看,它会大大提高后期软件的开发效率。

  现在让我们来看一下,这三者之间的关系是怎样的。首先,我想举一个在家里例子来说明一下,比如我爸爸因为某些原因,要来我家住一段时间。假设有两件屋子,一间我们住,一间留给爸爸住,这么安排大家应该不会有什么疑问吧。再假设,如果我爸有什么事情想和我们说,他应该先找我说,然后我再和老婆商量,然后通过我再和我爸去沟通,我想一般家庭都是这样去做的吧。

    再回到MVC框架,是这样描述三者关系的:
    1、 Controller可以直接访问View 和 Model。
    2、 View与Model不能直接访问Controller, 只能通过特殊的方式传递消息到Controller。
    3、 Model与View之间不能访问。

 可以看出Controller在其中起到了一个沟通协调的作用,这就好比我爸爸有什么事情要先找我,相反我老婆也一样。现在大家已经初步了解MVC框架中,这三者的关系,让我来进一步讲解MVC框架的中Controller的沟通协调是如何实现的。

  首先是Controller与View:
    1、Controller可以直接调用View里的所有public方法和属性。
    2、View当中的控件通过事件(Event)与Controller产生关系。
    3、Controller可以作为View的委托(delegate)响应View或View中控件状态变化时发出的事件
    4、Controller中可以绑定属性到View。

     再是Controller与Model:
    1、 Controller中可以创建需要用到的Model实例。
    2、 Controller可以任意访问Model实例中的属性、方法。
    3、 Model通过自定义事件(Event)的方式与Controller进行沟通。Controller中需要事先加入对相应事件的监听。

以上就是我这些天通过学习MVC框架所给出的我的理解,一些泛泛的想法,并不是很专业,请大家指教,谢谢!



如何向妻子解释OOD
OOAD与UML笔记
UML类图与类的关系详解
UML统一建模语言初学
总结一下领域模型的验证
基于 UML 的业务建模


面向对象的分析设计
基于UML的面向对象分析设计
UML + 嵌入式系统分析设计
关系数据库面向OOAD设计
业务建模与业务架构
使用用例进行需求管理


某航空IT部门 业务分析与业务建模
联想 业务需求分析与建模
北京航管科技 EA工具与架构设计
使用EA和UML进行嵌入式系统分析
全球最大的茶业集团 UML系统分析
华为 基于EA的嵌入式系统建模
水资源服务商 基于EA进行UML建模
更多...