MVVM与MVC设计模式
2015-12-14 23:55
417 查看
先说一下作为一个开发人员来说,众所周知的一个设计模式:MVC,
全称为:Model-View-Model.
主要目的:分离视图(View)和模型(Model).
MVC:结构图如下:
上树即为我们经常使用的一个架构模式:MVC,想必我们用着已经非常习惯,但是他有存在一些问题,这是笔者想通过此文告诉大家的:
1.模型的代码少
2.控制器的代码却是越写越多
3.由于写的代码较多,故不好进行性能测试
MVVM :
全称:Model-View-ViewModel ,MVVM 模式和 MVC 模式一样,主要目的也是分离视图(View)和模型(Model)
结构图:
概念:
1.在MVVM中,view与viewController正式联系在一起,我们可以把他们视为一个组件
2.在MVVM架构中,view与viewController均不能直接引用model,而是通过引用viewModel来间接引用model
3.很多人会问,viewModel是一个什么样的架构呢?里面应该放些什么样的东西呢?我们可以在viewModel中放置用户输入逻辑,视图显示逻辑及发送网络请求和其他一些代码
那么作为一种新型的架构模式,在使用时应该有哪些地方值得我们注意呢?
1.view 可以引用viewModel,但反过来却是不行
2.viewModel 可以引用model,但是反过来也不行
3.如果我们违背了上述规则,那么我们将会无法正常使用MVVM
MVVM自推出以后,便得到了大多数开发人员的认可,那么MVVC这种设计模式有什么优点呢?
1.低耦合:view/viewController可以独立于Model而进行变化和修改,与此同时,一个viewModel可以绑定到不同的view/ViewController上
2.可重用性:可以把一些视图逻辑放在一个ViewModel里面,让很多view/ViewController进行重用
3.独立开发:通过MVVM,开发人员可以专注于逻辑开发在viewModel里面,而设计人员也可以专注于页面设计,并且使用ExpressionBlend可以更加容易设计页面和生成XAML(Extensible Application Markup Language)代码.
4.可测试:通常来说,要进行,界面测试比较困难,而MVVM可以对viewModel进行测试.
全称为:Model-View-Model.
主要目的:分离视图(View)和模型(Model).
MVC:结构图如下:
上树即为我们经常使用的一个架构模式:MVC,想必我们用着已经非常习惯,但是他有存在一些问题,这是笔者想通过此文告诉大家的:
1.模型的代码少
2.控制器的代码却是越写越多
3.由于写的代码较多,故不好进行性能测试
MVVM :
全称:Model-View-ViewModel ,MVVM 模式和 MVC 模式一样,主要目的也是分离视图(View)和模型(Model)
结构图:
概念:
1.在MVVM中,view与viewController正式联系在一起,我们可以把他们视为一个组件
2.在MVVM架构中,view与viewController均不能直接引用model,而是通过引用viewModel来间接引用model
3.很多人会问,viewModel是一个什么样的架构呢?里面应该放些什么样的东西呢?我们可以在viewModel中放置用户输入逻辑,视图显示逻辑及发送网络请求和其他一些代码
那么作为一种新型的架构模式,在使用时应该有哪些地方值得我们注意呢?
1.view 可以引用viewModel,但反过来却是不行
2.viewModel 可以引用model,但是反过来也不行
3.如果我们违背了上述规则,那么我们将会无法正常使用MVVM
MVVM自推出以后,便得到了大多数开发人员的认可,那么MVVC这种设计模式有什么优点呢?
1.低耦合:view/viewController可以独立于Model而进行变化和修改,与此同时,一个viewModel可以绑定到不同的view/ViewController上
2.可重用性:可以把一些视图逻辑放在一个ViewModel里面,让很多view/ViewController进行重用
3.独立开发:通过MVVM,开发人员可以专注于逻辑开发在viewModel里面,而设计人员也可以专注于页面设计,并且使用ExpressionBlend可以更加容易设计页面和生成XAML(Extensible Application Markup Language)代码.
4.可测试:通常来说,要进行,界面测试比较困难,而MVVM可以对viewModel进行测试.
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- 架构纵横谈之二 ---- 架构的模式与要点
- BS项目中的CSS架构_仅加载自己需要的CSS
- WPF MVVM示例讲解
- 关于三种主流WEB架构的思考
- Android操作系统的架构设计分析
- PHP设计模式之装饰者模式代码实例
- php设计模式之单例模式实例分析
- 介绍php设计模式中的工厂模式
- PHP设计模式之适配器模式代码实例
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- 深入浅出23种设计模式