MVC什么样?

从这个图中可以清楚的看到:

View:视图层——这里是用户与之交互的界面。

Model:模型层——这里面主要就是业务数据,并把数据提供给视图层

Controller:控制器——他的主要功能世界收用户的输入并调用模型和视图去响应用户的需求

感觉他凸显的优点就是:

1:java人员在业务逻辑上有明显的增强,逻辑层代码接触也很多;前端人员更专注于在html和jsp上集中精力,但是在这个时代,似乎这样的前端是很难吃香的。

2:MVC在维护接口的技术上,感觉技术含量是降低了。

3:在layout层,他这个还是比较任性化的,能够实现公用模板(头部和底部),但是相对于VUE来说,个人感觉还是组件更好用

4:在与java的人员合作中,因为项目是没有分离的,最另外烦恼的一点就是,我每次新件一个页面,都要进入Controller层添加一个方法(类似于一个门,或者说开关),这让我着实难受。

MVP什么样?

这里我也借用百度百科的一张图

MVP和MVC其实很像,MVP是由MVC转变而来的。

Presenter:Presenter和Controller都是负责逻辑的处理;

Model:提供数据;

View:视图;

下面附上一个jq实现toDoList的一段代码:

这段代码中没有牵扯到Model层,大部分都是P和V。在这里面用到了jq的几个小方法:

1:$.proxy()——他可以基本描述为:接受一个函数,饭后返回一个新函数,并企鹅这个新函数始终保持了特定的上下文语境

$.proxy(function,context),

function为执行的函数,context为函数的上下文this值会被设置成这个object对象

2:$.extend()——可以理解为,用一个或者多个对象来扩展一个对象,返回被扩展的对象,一般我们在写插件的时候用到这个方法,这里就不做过多解释了,菜鸟教程上写的已经很详细了

MVVM什么样?

提到MVVM,我相信大部分的下伙伴都知道是什么样的了,这个是现在用的居多的。在前端框架中已经能深刻体现了。

这里也去百度百科捞一张图。~0.0~

看了这个图,然后再看一下vue中体现他的地方:

附上一段代码:

我们看到了,在上面这个例子中,集中体现的是View和Model层。

MVVM是基于数据驱动的,而在MVP和MVC中是基于DOM驱动的。

在VUE中,ViewModel他可以说是vue.js的核心了。他将DOM和数据绑定起来,保持一个同步,当我们去变更数据的时候,Dom也会随之更新。

这个例子中也提到vue中的全局组件和局部组件,大家可以看一下他们的写法。

当然其实的props是通信组件中父传子的一个方法。

更深的讲解,这里附上一个小伙伴的详解链接 https://www.jianshu.com/p/b0aab1ffad93

MVC——MVP——MVVM的更多相关文章

  1. Android App的设计架构:MVC,MVP,MVVM与架构经验谈

    相关:http://www.cnblogs.com/wytiger/p/5996876.html 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于 ...

  2. MVC, MVP, MVVM比较以及区别(上)

    MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式.以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解.现在一边查资料,并结合自己的理解,来谈一下 ...

  3. android MVC && MVP && MVVM分析和对比

    相关:http://www.cnblogs.com/wytiger/p/5305087.html 出处http://blog.csdn.net/self_study,对技术感兴趣的同鞋加群544645 ...

  4. MVC, MVP, MVVM比较以及区别

    MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式.以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解.现在一边查资料,并结合自己的理解,来谈一下 ...

  5. [1] MVC & MVP &MVVM

    开发架构之MVC & MVP & MVVM  

  6. 浅析前端开发中的 MVC/MVP/MVVM 模式

    MVC,MVP和MVVM都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式(Design Pattern),只是为了解决一类 ...

  7. [转]MVVM架构~mvc,mvp,mvvm大话开篇

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示.作为一种新的模式,MVP与MVC有着一 ...

  8. 前端mvc mvp mvvm 架构介绍(vue重构项目一)

    首先 我们为什么重构这个项目 1:我们现有的技术是前后台不分离,页面上采用esayUI+jq构成的单页面,每个所谓的单页面都是从后台胜场的唯一Id 与前端绑定,即使你找到了那个页面元素,也找不到所在的 ...

  9. Android App的设计架构:MVC,MVP,MVVM与架构AAAAA

    1. 架构设计的目的1.1 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.1.2 这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续 ...

  10. 用户界面编程模式 MVC MVP MVVM

    用户界面编程模式 MVC MVP MVVM 程序 = 数据 + 算法 数据:就是待处理的东西 算法:就是代码 涉及到人机交互的程序,不可避免涉及到界面和界面上显示的数据原始方式是界面代码和逻辑代码糅合 ...

随机推荐

  1. 远景GIS云产品规划

    远景GIS云平台在初期有过产品设计,随着研发工作的进行以及对GIS云的认知更进行一步,最近重新梳理了平台的产品规划,使以后的开发不至于走偏方向. GIS云平台的研发也是摸着石头过河,免不了有考虑不到的 ...

  2. 03_netty实现聊天室功能

    [概述] 聊天室主要由两块组成:聊天服务器端(ChatRoomServer)和聊天客户端(ChatClient). [ 聊天服务器(ChatRoomServer)功能概述 ] 1.监听所有客户端的接入 ...

  3. mac安装软件提示没有权限

    Mac 安装软件基本是各种爽,自动更新啥. 但是有一种提示没有权限的错误,很不爽,还要sudo管理员权限 有一个修复 /usr/local目录权限的命令 sudo chown -R 'whoami' ...

  4. d3js shape深入理解

    本文将视图了解d3js提供的帮助我们创建矢量图形的helper函数,比如下面的: http://d3indepth.com/shapes/ lines curves pie chart segment ...

  5. leetcode Ch2-Dynamic Programming I

    一. 1. Edit Distance class Solution { public: int minDistance(string t1,string t2) { int len1=t1.size ...

  6. yum 安装 lnmp

    一. 系统 更新 yum -y update 二. 安装nginx 创建文件 vim /etc/yum.repos.d/nginx.repo 文件内容,这配置是安装最新的稳定版1.8 [nginx] ...

  7. 数据库相关文章转载(2) MySQL自带的性能压力测试工具mysqlslap详解

    PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一 ...

  8. Linux基础入门 - 1

    第一节 Linux简介 Linux 就是一个操作系统,也就是系统调用和内核那两层,Linux 本身只是操作系统的内核(内核是使其他程序能够运行的基础.它实现了多任务和硬件管理,用户或者系统管理员交互运 ...

  9. VS2013打开项目 提示Asp.net4.5未在web服务器上注册 F5运行 启动不来 权限

    打一个补丁 http://blogs.msdn.com/b/webdev/archive/2014/11/11/dialog-box-may-be-displayed-to-users-when-op ...

  10. 秒杀场景下MySQL的低效(转)

    秒杀场景下MySQL的低效 2016-01-14 17:12 178人阅读 评论(0) 收藏 举报 最近业务试水电商,接了一个秒杀的活.之前经常看到淘宝的同行们讨论秒杀,讨论电商,这次终于轮到我们自己 ...