美文网首页
理解程序结构

理解程序结构

作者: 呼啦呼啦的圈 | 来源:发表于2019-02-01 12:06 被阅读0次

MVC --- MVP --- MVVM

对于这3种结构, 每个人都有不同的理解, 我想说说我的理解.

M是model(数据模型), V是View(界面UI), C是(controller控制器)

这些模型里, 永远有M, 说明M是不变的, 一直需要的. V也同理. 写程序的时候, 是什么样的, 写好View, 写好model, 创建Activity / UIViewController. 在里面创建view, 发起请求, 获得数据, 转换成model. 在将model的数据, 显示到view上.

但是如何将Model的数据, 显示的View上呢, 因此, 出现了各种模式.

MVC, 在C中做操作.

MVP, 在P中做操作.

MVVM, 在VM中做操作.

说明无论 C, P, VM是什么, 他们都是处理Model和View的. 就是处理的方式不同. 为了提高扩展性, 维护性. C,P,VM的目的就是为了复用各种不同的模块, 如果程序中, 很多View比较重复(或者说,更高效的使用View), 那么可以试试MVVM, 用VM. 

想复用Model(或者更高效的使用Model), 那么就可以试试MVP.

如果View样式多, Model也难以复用. 那么MVC也许比较合适.

无论用什么模式, 目的都是为了使程序更好的维护, 迭代. 

在移动开发(Android / iOS)中, V是View, M是Model, C是Activity / UIViewController. 不是说, 不用Activity / UIViewController 的不是MVC. 也不是说用了 Activity / UIViewController 就是MVC. MVVM里的VM模块, 肯定也是在 Activity / UIViewController 中进行初始化, 在把View和Model关联起来的.

在Activity / UIViewController 中直接把Model 传到 View中、把Model的数据取出来, 直接给View上的控件设置数值. 不同的操作方法, 导致了结构得分支.

View中直接接受Model. 那么View就依赖Model了, 同时也在Model中可以拿到所有想要的东西.

View只接受控件参数的设置. 比如View.setLabelText = model.text .那么view就不依赖Model, 数据哪里来的, View不关心.

Activity / UIViewController 中直接进行Model和View的数据组装, 那么代码会很多.不如 new / init 一个Class util, util.setView = View, util.setModel = Model. 在util中进行数据组装.

MV-X 就是使用了各种不同的封装模式, 将原本一个文件中编写的代码, 分散到了很多的文件中, 使他们的功能单一, 纯粹, 以将复杂的功能拆成简单的模块.

在用不同的方式进行重新组合.

相关文章

  • 理解程序结构

    MVC --- MVP ---MVVM 对于这3种结构, 每个人都有不同的理解, 我想说说我的理解. M是mode...

  • JavaScript程序结构

    一、程序结构(1) 认识程序结构程序结构,描述了业务处理流程,反映到代码中就是代码的执行顺序/过程;常见的程序结构...

  • 简单面试题整理

    概念题: 描述对super,pass,yield,lambda关键字的理解 pass是空语句,是为了保持程序结构的...

  • 程序结构之:循环结构

    程序结构之:循环结构 · 视频课程 程序结构之:循环结构 · 课程文稿 今天,我们来学习另一种程序结构:顺序结构。...

  • 【小程序】基础篇

    1. 知识储备 基础:HTML+JS+CSS 进阶:React、Vue 2. 程序结构 2.1 理解微信小程序的架...

  • 2 mysql 体系架构

    2. mysql 体系架构 连接方式TCP/IPSocket mysqld程序结构mysqld程序结构mysql程...

  • 文档/视图结构详细介绍2009-03-31

    以单文档界面(SDI)应用程序为例,介绍MFC的文档/视图程序结构。 学习要求 理解文档/视图结构,可在AppWi...

  • 零基础学Java第三篇之流程控制

    程序结构 顺序结构:是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺...

  • AHK基础入门与程序结构

    [toc] # 前言 ## 什么是程序结构? 程序结构一般指结构化程序设计,也就是说我们把程序结构化,进行以模块功...

  • Flink基础系列30-Table API和Flink SQL之

    一.基本程序结构 Table API和SQL的程序结构,与流式处理的程序结构十分类似; 也可以近似的认为有这么几步...

网友评论

      本文标题:理解程序结构

      本文链接:https://www.haomeiwen.com/subject/bxfxsqtx.html