渐进式与声明式

渐进式与声明式

  1. 渐进式
    渐进式可以一部分一部分的添加,可以作为任何一个系统的一部分。拿到哪里都能用。

  2. 声明式
    声明式有一个对应的叫命令式。
    命令式:我告诉他干什么他就干什么。

如:电风扇,风吹冷了。要手动去调节。 声明式:把数据给他,不会修改dom,基于数据去自动修改,告诉声明式。去渲染。
如:空调,他会根据当前的环境去调整。你给我一个要求,我尽量去调节。

MVVM框架

1. 框架模式与设计模式

设计模式:称之为套路,特定环境中的解决方案。
框架模式:基架构在代码之上的,他是负责整个系统的一个框架。不像设计模式是某个点,而是纵观整个系统去看的。

2. 什么是MVVM框架?

传统MVC框架是单向传递。 MVVM分为三部分,M V VM 。 M V 通过VM来进行双向数据绑定。

渐进式与声明式
MVVM框架的应用场景:

  1. 针对具有复杂交互逻辑的前端应用

  2. 提供基础的架构抽象

  3. 提供ajax数据持久化,保证前端用户体验

3. MVVM与传统框架的区别?

MVM

在MVM下 如果业务复杂起来,再加上其他乱七八糟的验证,controller就会变得很大,
越来越难以维护。既然controller越来越臃肿,越来越难以维护。我们怎么去优化和瘦身呢?
所以就产生了MVVM框架,它帮忙分担一下controller里面的部分业务逻辑。 所以可以说MVVM是MVC的一个升级版。

翻译:controller 管理者,控制者 ----控制层

MVVM

1、方便测试 在MVC下,Controller基本是无法测试的,里面混杂了个各种逻辑,而且分散在不同的地方。
有了MVVM我们就可以测试里面的viewModel,来验证我们的处理结果对不对。

2、便于代码的移植 可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
比如iOS里面有iPhone版本和iPad版本,除了交互展示不一样外,业务逻辑的model是一致的。
这样,我们就可以以很小的代价去开发另一个app。

3、独立开发 开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计, 使用Expression
Blend可以很容易设计界面并生成xml代码。