一、设计模式
1、单例模式的优缺点?
优点:
(1)提供了对唯一实例的受控访问
(2)系统中只存在一个对象,可以节约系统资源,对于频繁创建和销毁的单例模式可以提高系统的性能
缺点:
(1)单例模式没有抽象层,扩展难度大
(2)单例的职责过重,在一定程度上违背了“单一职责原则”
(3)单例从创建后到彻底关闭程序前都会一直存在,如果过多的创建单例无疑浪费系统资源和影响系统效率
(4)单例对象长时间不被利用,系统有可能会认为是垃圾而被回收,这将导致当前单例对象状态的丢失。
2、如何理解MVVM设计模式?
随着业务的不断扩大,业务逻辑越来越复杂,这使得controller的任务越来越重,传统的MVC框架很难满足低耦合,高内聚的设计需求,在这样的情况下,MVVM诞生了,是由微软提出的一种设计架构。它是基于MVC的,只是在View和Model层中间加了一个ViewModel层,来实现数据绑定。
ViewModel有一下几个特点:
(1)ViewModel是有状态的,有自己的属性,同时还会持有Model
(2)ViewModel与UI控件无关,不关心UI的逻辑,只关心数据处理
(3)易于单元测试
(4)ViewModel可以抽离出来,实现代码上的复用
(5)ViewModel不持有任何UI类型的属性。(UIImage特定情况下可以看做是数据类型而非UI类型)
MVVM的设计模式下,View专注于内容的绘制处理,事件的响应,Controller专注于业务分配,ViewModel专注于数据的处理,并和View进行通信,Model专注于数据结构定义。还可以将一直无处安放的网络请求逻辑放到ViewModel中,减轻Controller的复杂度。
同时,MVVM也增加了更多的代码,增加了工程的规模,目录要比以前更多,不好查找文件。
网友评论