zoukankan      html  css  js  c++  java
  • Android之MVC模式

    MVC概述: 

      MVC模式是软件工程中的一种软件架构,Mode(模型)-View(视图)-Controler(控制器)的缩写;

      MVC模式将一个交互式应用程序分为3个组件:

        Model(模型):业务逻辑层,包含核心功能和数据并实现核心业务逻辑

        View(视图):表示层,向用户显示信息 

        Controller(控制器):控制层,处理用户输入,并实现View层跟Model层的协同工作

    MVC应用领域:

      具有灵活人机界面的交互方式应用程序:

        可以灵活选择不同的信息显示方式

        可以灵活选择用户的输入方式

      针对不同的用户角色,提供不同的用户界面:

        不同用户具有不同权限,操作方式也有所不同

    模型(Model):

      业务逻辑层,封装了业务逻辑和数据

        业务逻辑(软件的核心)

        数据以及访问他们的函数(视图组件使用)

        执行特定应用程序处理的过程(控制代表用户调用)

      模型对用户来说是不可见的(M与V独立)

      模型独立于特定输出表示或者输入方式(M于C独立)

      用户只能通过控制器操作模型(C是M于V之间的桥梁)

    视图(View):

      表示层,就是用户看到并与之交互的界面,通常实现数据的输入和输出功能   

      从模型获取数据:

        通过状态查询函数实现

        列如:定时刷新

      向用户显示信息:

        不同的视图使用不同的方法呈现信息

        每个视图组件都有一个更新函数,这个函数被模型变更通知激活

        这个函数被积木哦(此时模型已经变更)后,将使用视图重新和模型一致

        在初始化阶段,视图向模型登记请求变更通知(表)

    控制( Controller):

      控制层,起到控制整个业务流程的作用,实现View层跟Model层的协同工作.

      每个视图有一个相关的控制器组件(一一对应)

      用户仅仅通过控制器与系统交互

      控制器组件接受事件,并翻译成输入:

        事件如何发送到控制器由用户界面平台决定

        事件被翻译成为对模型或视图的求情

        如果控制器的行为依赖于模型的状态,那么控制器也需要向模型登记求情变更通知

        例如:用户点击按钮,按钮的事件响应函数将采取响应的措施处理用户要求  

    变更-传播机制:

      一个模型可对于多个视图:

        如果用户通过一个视图的控制器改变了模型中的数据,那么依赖于该数据其他视图也应该反应出这样的变化

        一旦模型的数据发生了变化,模型需要通知所有相关的视图做出相应的变化

      维护数据的一致性:

        这个的方式可以通过观察者(Observer)设计模式完成

     

    MVC组件类型的关系和功能图:

       

  • 相关阅读:
    【转】如何删除一个repository(仓库)
    【转】Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
    【转】android 开发 命名规范
    【转】精简深拷贝ArrayList实例
    【转】关于Adapter的The content of the adapter has changed问题分析 关于Adapter的The content of the adapter has changed问题分析
    从 BM 到 RBM
    从 BM 到 RBM
    Gibbs 采样的应用
    Gibbs 采样的应用
    MCMC:Gibbs 采样(matlab 实现)
  • 原文地址:https://www.cnblogs.com/xcxcxc/p/4699695.html
Copyright © 2011-2022 走看看