MVVM与MVC设计模式

先说一下作为一个开发人员来说,众所周知的一个设计模式: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进行测试.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北方人深漂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值