VUE 知识点总结

1. 对于设计模式的理解

1首先我们明白是什么: MVC

Model View Controller 是模型(model)-视图(view)-控制器(controller)的缩写

① Model(模型)表示应用程序核心(比如数据库记录列表)。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。   通常模型对象负责在数据库中存取数据。

②View(视图)显示数据(数据库记录)。
View(视图)是应用程序中处理数据显示的部分。   通常视图是依据模型数据创建的。

③Controller(控制器)处理输入(写入数据库记录)。
Controller(控制器)是应用程序中处理用户交互的部分。   通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

mvc 是大后端思想的最主要的基本模型,。将不同的数据功能,以模块化思想,把不同数据模型,展示在显示层,将不同的西瓜分给不同的人去做。
更多 MVC、MTV、MVP、CBD、ORM

2然后我们要明白是什么: MVP

Model View Presenter Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理

MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。

1 各个部分之间的通信,都是双向的。
2 V层与M层不发生联系,都是通过P传递
3 V层因为分离了,不进行任何业务处理,可以理解为被动视图,而P非常厚,逻辑都写在这块

  1. MVVM :Model-View-ViewModel 可以说是MVP 的改进版 MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开,VP两层不在是双向的数据流向

组成

  • 模型 模型是指代表真实状态内容的领域模型(面向对象),或指代表内容的数据访问层(以数据为中心)。
  • 视图 就像在MVC和MVP模式中一样,视图是用户在屏幕上看到的结构、布局和外观(UI)。
  • 视图模型 视图模型是暴露公共属性和命令的视图的抽象。MVVM没有MVC模式的控制器,也没有MVP模式的presenter,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。
  • 绑定器 声明性数据和命令绑定隐含在MVVM模式中。在Microsoft解决方案堆中,绑定器是一种名为XAML的标记语言。绑定器使开发人员免于被迫编写样板式逻辑来同步视图模型和视图。在微软的堆之外实现时,声明性数据绑定技术的出现是实现该模式的一个关键因素

特点

  • 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的- "View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
  • 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
  • .独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
  • 可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。

3既然都问了什么是mvvm就应该把原理说下
4双向数据绑定怎么实现

重点 Object.defineProperty() 原理 vue的双向数据绑定的原理相信大家都十分了解;主要是通过ES5的Object对象的defineProperty属性;重写data的set和get函数来实现的 解析 双向数据编订 是采用数据劫持结合发布者-订阅者模式的方式 new一个新的mvvm

1实现一个数据监听器Observer,能够对数据对象的所有属性进行监听,如有变动可拿到最新值并通知订阅者
2实现一个指令解析器Compile,对每个元素节点的指令进行扫描和解析,根据指令模板替换数据,以及绑定相应的更新函数
3实现一个Watcher,作为连接Observer和Compile的桥梁,能够订阅并收到每个属性变动的通知,执行指令绑定的相应回调函数,从而更新视图
4new一个新的mvvm 入口函数


---待更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章