不同的MVC

MVC的出现是很久很久以前的事情了,MVC本身有很多可以去说的地方,通过另一个视角去看MVC,

MVC不属于GOF设计模式,但它确实设计模式应用的集合,且拥有很多的实现方式,如:MFC的Document/View/Control,Qt的Model/View/Delegate,IOS的View/Controller/Delegate,java EE的Model/View/Control。如此多的实现让人眼都发晕。那MVC的本质是什么呢?

MVC和其他原始的设计模式一样都是为了分离变化,将不变与变化相分离,使系统更加灵活。MVC关注的对象包括:视图也就是看的见的实现的内容,模型即需要显示的数据,控制是最重要的部分它是控制视图如何渲染、模型如何管理的关键点。

MVC就体使用了那些经典设计模式呢?代理、桥接、观察者、适配器、建造者等,不同的实现具体使用到的设计模式也有所不同,但都最终实现了针对于视图和模型的相分离,并提供了统一的调用接口和绑定方法。我们从设计模式的基本原则来看一下MVC实现。

  1. 开闭原则,这个模型中你只能从基类扩展
  2. 抽象类,开发库提供了基础的接口你只需要去实现就可以
  3. 里氏代换,你实现的接口一定能够替换掉原来的抽象类的,不然系统就转不动了
  4. 依赖倒转,在原型中它只有接口而没有实现
  5. 接口隔离,三个接口你自己去实现,且有独立的功能
  6. 迪米特法则,不要直接在model中操作View,那是代理的事情
  7. 合成复用,你在设置model和delegate是就应该知道他们都在View或者controller中组合(不同的模型可能不同)

MVC的模型的方法不仅仅只在涉及到UI开发时能够应用,其他方面我们也能够应用到其中的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值