一、谈谈对设计模式的理解。你知道哪些设计模式,并简要叙述。
使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。
设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情。
1、MVC模式:Model View Control
,把模型、视图、控制器层进行解耦和编写。
2、MVVM模式:Model View ViewModel
,把模型、视图、业务逻辑层进行解耦和编写。
3、单例模式:通过static
关键词,声明全局变量。在整个进程运行期间只会被赋值一次。
4、观察者模式:KVO是典型的通知模式,观察某个属性的状态,状态发生变化时通知观察者。
5、委托模式:代理+协议的组合。实现1对1的反向传值操作。
6、工厂模式:通过一个类方法,批量的根据已有模板生产对象。
二、MVC和MVVM的区别
1、MVVM
是对胖模型进行的拆分,其本质是给控制器减负,将一些弱业务逻辑放到VM
中去处理。
2、MV
是一切设计的基础,所有新的设计模式都是基于MVC
进行的改进。