模式二之框架模式

简介: 模式二之框架模式

一、MVC模式:


 

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:


Model(模型)表示应用程序核心(比如数据库记录列表)


View(视图)显示数据(数据库记录)


Controller(控制器)处理输入(写入数据库记录)

 

使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。前端典型的MVC模式的框架是angular.js。


模板(Templates)



模板是您用HTML和CSS编写的文件,展现应用的视图。 您可给HTML添加新的元素、属性标记,作为AngularJS编译器的指令。 AngularJS编译器是完全可扩展的,这意味着通过AngularJS您可以在HTML中构建您自己的HTML标记!

应用程序逻辑(Logic)和行为(Behavior)

 

AngularJS与标准AJAX应用程序不同,您不需要另外编写侦听器或DOM控制器,因为它们已经内置到AngularJS中了。这些功能使您的应用程序逻辑很容易编写、测试、维护和理解。  


模型数据(Data)  


 

模型是从AngularJS作用域对象的属性引申的。模型中的数据可能是Javascript对象、数组或基本类型,这都不重要,重要的是,他们都属于AngularJS作用域对象。


AngularJS通过作用域来保持数据模型与视图界面UI的双向同步。一旦模型状态发生改变,AngularJS会立即刷新反映在视图界面中,反之亦然。


二、MVVM模式:


 

MVVM是Model-View-ViewModel的简写。MVVM(Model-View-ViewModel)框架的由来是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。MVVM 模式使用的是数据绑定基础架构,它们可以轻松构建UI的必要元素。View绑定到ViewModel,然后执行一些命令在向它请求一个动作。而反过来,ViewModel跟Model通讯,告诉它更新来响应UI。这样便使得为应用构建UI非常的容易。


往一个应用程序上贴一个界面越容易,外观设计师就越容易使用Blend来创建一个漂亮的界面。同时,当UI和功能越来越松耦合的时候,功能的可测试性就越来越强。


MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点:


低耦合 视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。


可重用性   你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。


独立开发   开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。


可测试   界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。


前端框架中典型MVVM模式的是kendo-ui,在开发中只需要定义一个控制器:


kendo.observable(),就可以在视图模型上绑定数据。


小结:


本文只是简单的介绍了两种框架模式,学习框架模式能提高我们解决问题的思想,写出更好的代码。

相关文章
|
5月前
|
消息中间件 存储 网络性能优化
|
6月前
|
设计模式 运维 安全
边车模式的介绍
边车模式的介绍
76 0
|
6月前
一般模式
【2月更文挑战第20天】一般模式。
40 1
|
6月前
|
设计模式 算法 编译器
【C/C++ PIMPL模式 】 深入探索C++中的PIMPL模式
【C/C++ PIMPL模式 】 深入探索C++中的PIMPL模式
269 0
|
分布式计算 自然语言处理 并行计算
运用Aggregator模式实现MapReduc
运用Aggregator模式实现MapReduc
运用Aggregator模式实现MapReduc
|
前端开发 JavaScript Java
MVX模式是什么?
MVX模式是什么?
281 0
使用不完整的模式
使用不完整的模式
81 0
|
C语言
模式
模式
141 0
|
并行计算 搜索推荐 算法