MV*模式的个人理解

MV*模式主要解决的问题就是 View代码难以维护的问题。

MV*模式将View中的逻辑分离出去,形成一个弱逻辑的易于维护的视图。

MV*中的*是Model和View的桥梁,负责保持Model和View的同步。

MVC模式

Model,View,Controler,Controler负责视图逻辑,数据流向为 View -> Controler,Controler -> Model,Model -> View,三种呈环形结构

MVC缺陷

MVP模式

Model,View,Presenter,Presenter负责视图逻辑,数据流向为 View <-> Presentrer, Presenter <-> Model, Persenter成为View和Model的中介,不允许Model和View直接通信,MVP一定程度上解决了MVC的问题,但是Presenter将会非常复杂

MVVM模式

Model,View,ViewModel,ViewModel负责视图逻辑,数据流向 View <-> ViewModel, ViewModel <-> Model, 进化版的MVP模式,将Presenter改为ViewModel。其中的Model为纯数据,不包括视图元素状态(显示/隐藏,高亮,禁用/启用等)。而多数的MVVM框架,ViewModel包含Model,ViewModel是数据和业务逻辑的集合体,View和ViewModel的同步是采用data-binding的形式。实际上,形成如下演变模式, View <-> ViewModel,说是VVM模式也许更贴切,目前这种方式被推崇为前端领域的最佳实践

时间: 2024-10-03 13:54:09

MV*模式的个人理解的相关文章

切图崽的自我修养-[MVVM] Js MV*模式浅谈

前言 做客户端开发.前端开发对MVC.MVP.MVVM这些名词不了解也应该大致听过,都是为了解决图形界面应用程序复杂性管理问题而产生的应用架构模式.网上很多文章关于这方面的讨论比较杂乱,各种MV模式之间的区别分不清,甚至有些描述都是错误的.本文追根溯源,从最经典的Smalltalk-80 MVC模式开始逐步还原图形界面之下最真实的MV模式. GUI程序所面临的问题 图形界面的应用程序提供给用户可视化的操作界面,这个界面提供给数据和信息.用户输入行为(键盘,鼠标等)会执行一些应用逻辑,应用逻辑(a

审判,必须死,关于工厂模式的小小理解

不幸,你被抓住了. 明朝皇帝不会留情的.他冷笑着说:"你必须死!!!" "交给东厂,审审,决定你的死法" 这个世道啊,连死法,都和你有多少钱相关. "身上钱少于100块,吃屎到死:多于100,少于200,被袋鼠干,干死:多余200块嘛,天天看郭敬明,郁闷至死." 于是一段程序开始了: using UnityEngine; using System.Collections; public class DummyFact : MonoBehaviou

代码沉淀 - Caliburn.Micro - MV*模式短小精悍的框架

Caliburn.Micro - Xaml made easy. web: https://github.com/Caliburn-Micro/Caliburn.Micronuget: Install-Package Caliburn.Micro 用于建立各个XAML平台应用,如WPF,Silverlight,WP,支持MV*模式 更多相关项目,请访问代码沉淀目录 重要提示:请注意项目的版本,以官方最新版本为准. 代码沉淀 - Caliburn.Micro - MV*模式短小精悍的框架

MV* 模式

MV* 模式

对于观察者模式,Reactor模式,Proactor模式的一点理解

最近就服务器程序IO效率这一块了解一下设计模式中的Reacotr模式和proactor模式,感觉跟观察者模式有些类似的地方,网上也看了一些其他人对三者之间区别的理解,都讲得很仔细,在此根据自己的理解做一点简单的记录和总结,如果理解不对的地方,以后再慢慢深入和更新. 观察者模式: 也可以称为为 发布-订阅 模式,主要适用于多个对象依赖某一个对象的状态并,当某对象状态发生改变时,要通知其他依赖对象做出更新.是一种1对多的关系.当然,如果依赖的对象只有一个时也是一种特殊的一对一关系.通常,观察者模式适

JavaScript之MV*模式

前言 在前端技术的快速发展过程中,MVC(模型-视图-控制器).MVP(模型-视图-表示器)和MVVM(模型-视图-视图模型)也得到了很多使用.然而,这三种框架模式非常相似,不易分清,易于混淆.本文重在讲述它们的概念和应用场景及它们之间的细微差别,使我们更好的理解和使用这三种框架模式. 1.MVC MVC全名是Model View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码

四(2)、复用类补充之关于代理模式的一点理解

一.关于代理模式的几个概念 1.比如A要去租房,通过中介B,租到C家的房子,这里B就是A的代理. 代理可以认为是之前介绍的组合和继承的折中模式,它有继承的部分也有组合的部分. 2.代理的结构 1)抽象主题角色: 声明了真实主题和代理主题的共同的接口. 2)代理主题角色:内部含有真实主题的引用, 从而可以再任何时候操作真实主体对象:提供了一个与真实主题相同的接口,以便可以替代真实主题. 3)真实主题角色:抽象主题的实现,是具体被代理的对象. 二.三种常见的代理模式 1.普通代理模式 1 packa

WPF MVVM模式的一些理解

/*本文转自 http://www.cnblogs.com/sirkevin/archive/2012/11/28/2793471.html */ 使用WPF+Mvvm开发一年多,期间由于对Mvvm模式的理解不足,遇到了很多问题,也绕了很多弯子:网上提供的Mvvm的示例比较简单,实际项目中的需求也各种各样.不过经过几个项目,也有了一些对Mvvm模式的理解: 1. Mvvm是什么,Mvvm是怎么来的?Mvvm模式广泛应用在WPF项目开发中,使用此模式可以把UI和业务逻辑分离开,使UI设计人员和业务

生产者/消费者模式之深入理解

#include <windows.h> #include <iostream> const unsigned short SIZE_OF_BUFFER = 2; //缓冲区长度 unsigned short ProductID = 0; //产品号 unsigned short ConsumeID = 0; //将被消耗的产品号 unsigned short in = 0; //产品进缓冲区时的缓冲区下标 unsigned short out = 0; //产品出缓冲区时的缓冲区