Android与MVC设计模式

写在前面,以前作过一段时间移动开发,后来由于工做缘由搁浅了,最新从新拿起Android权威编程指南学习,顺道作个学习笔记。程序员

首先呢,我想说不管是计算机科班出身仍是培训班出身,都据说太高内聚低耦合以及MVC这两个词。MVC模式就是为了解决软件工程过程当中内聚与耦合的关系。(维基中查看内聚 耦合的定义)算法


MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。数据库

MVC模式最先由Trygve Reenskaug在1978年提出[1],施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件架构。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,而且使程序某一部分的重复利用成为可能。除此以外,此模式经过对复杂度的简化,使程序结构更加直观。软件系统经过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员能够经过自身的专长分组:编程

  • 控制器(Controller)- 负责转发请求,对请求进行处理。
  • 视图(View) - 界面设计人员进行图形界面设计。
  • 模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(能够实现具体的功能)。

 

  • 模型(Model) 用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“ Model ”有对数据直接访问的权力,例如对数据库的访问。“Model”不依赖“View”和“Controller”,也就是说, Model 不关心它会被如何显示或是如何被操做。可是 Model 中数据的变化通常会经过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View 必须事先在此 Model 上注册,从而,View 能够了解在数据 Model 上发生的改变。
  • 视图(View)可以实现数据有目的的显示(理论上,这不是必需的)。在 View 中通常没有程序上的逻辑。为了实现 View 上的刷新功能,View 须要访问它监视的数据模型(Model),所以应该事先在被它监视的数据那里注册。
  • 控制器(Controller)起到不一样层面间的组织做用,用于控制应用程序的流程。它处理事件并做出响应。“事件”包括用户的行为和数据 Model 上的改变。

 

  在Android应用开发中,就是基于最基础的MVC架构进行设计。设计模式

    如图是Android中MVC架构基本模式架构

  • 模型对象存储着应用的数据和业务逻辑,为存储和管理应用数据。
  • 控制器是视图对象和模型对象的联系纽带,管理着模型对象和视图对象的数据流动,控制着诸如触发事件之类的响应事件。
  • 视图对象就是用户感觉到的界面逻辑。

  Android应用设计基础就是MVC架构,虽然严格来讲Activity也不简单的充当controller的角色,以及目前设计模式不少,如mvp,mvvm等但万变不离其宗。掌握基础的mvc架构能让你更快的接触最新的设计思路和方法,例如下降开发复杂度,提升代码的复用率等等之类。mvc

相关文章
相关标签/搜索