zoukankan      html  css  js  c++  java
  • MVC框架模式

    MVC (Model-View-Controller)模式分为三层:

    1、视图层(View):

    对应于XML布局文件

    2、控制层(Controller):

    Android的控制层是由Activity来承担的,Activity本来主要是作为初始化页面,展示数据的操作,但是因为XML视图功能太弱,所以Activity既要负责视图的显示又要加入控制逻辑,承担的功能过多。

    3、模型层(Model):
    我们针对业务模型,建立的数据结构和相关的类,它主要负责网络请求,数据库处理,I/O的操作。
     
     

    Android 中的具体实现:

    在 Android 开发中,其本身默认可以理解为 MVC 结构,把 View 放在 xml 中与 Java 代码解耦,然后 Activity / Fragment 充当 Controller 进行逻辑控制,但是 Android 本身并没有对 Model 进行划分,所以往往我们会让 Activity / Fragment 充当 Model 和 Controller 两个角色。而且往往 xml 中的 View 操作也是在 Activity / Fragment 中,导致有时候 Activity / Fragment 也会充当一些 View 的角色。

    再android的UI系统中,控制器Activity起到的主要作用是解耦,将视图view与模型model进行分离,两者再activity中进行绑定或完成其他逻辑。

    4. MVC的优点

    • 视图层(View)与模型层(Model)解偶,通过Controller来进行联系。
    • 模块职责划分明确。主要划分层M,V,C三个模块,利于代码的维护。

    5. MVC的缺点

    • Android中使用了Activity来充当Controller,但实际上一些UI也是由Activity来控制的,比如进度条等。因此部分视图就会跟Controller捆绑在同一个类了。同时,由于Activity的职责过大,Activity类的代码也会迅速膨胀。
    • MVC还有一个重要的缺陷就是View跟Model是有交互的,没有做到完全的分离,这就会产生耦合。

     转载请标明:https://www.cnblogs.com/tangZH/p/13822749.html



     
  • 相关阅读:
    使用神经网络识别手写数字Using neural nets to recognize handwritten digits
    C++ 宏定义与常量
    C语言枚举类型(Enum)
    【转】DSP是什么--DSP是神马东东??
    linux 源码编译安装apache
    【转】细说自动化运维的前世今生
    【转】C语言中整型运算取Ceiling问题
    linux系统调优
    linux 状态与系统调优
    vue2.0 watch 详解
  • 原文地址:https://www.cnblogs.com/tangZH/p/13822749.html
Copyright © 2011-2022 走看看