MVCN设计模式
- Model ( 模型 )
- View ( 视图 )
- Controller ( 控制器 )
- NetRequest ( 网络请求 )
先来看下常用的设计模式
常用的设计模式有
- MVC
- MVP
- MVVM
这几种常用的设计模式中大部分人一直用MVC, 我也在使用.
那么那么什么是MVC?
模型(Model),用于存储程序中使用到的数据;视图(View),用不同的表现形式来呈现数据;控制器(Controller),更新模型。
它由如下三部分组成:
- 模型(Model) -“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。 “模型”有对数据直接访问的权力。 “模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。
- 视图(View) - 视图层能够实现数据有目的的显示,通常是一个用户界面元素。在视图中一般没有程序上的逻辑。在 Web 应用程序中的 MVC,通常把显示动态数据的 html 页面称为视图。
- 控制器(Controller) - 处理和响应事件,通常是用户操作,并监控模型上的变化,然后去修改视图。
MVC的缺点
当我们在用MVC来优化代码时, 发现控制器( Controller )中仍然存在着大量的冗余代码. 自己看着都头大. 但是当我们仔细分析下, 就会发现这些冗余的代码大部分都是些自定义的发放和网络请求. 自定义的方法我们通常会使用分类, 类扩展和工具类来解决. 但是还是会有一大坨网络请求留在哪里.
为了解决MVC的缺点我们通常会采用MVVM的设计模式来把网络请求放在ViewModel中来处理, 而我想到的是, 通过扩展MVC设计模式的方式来尽量避免MVC的缺点
MVCN设计模式
MVCN设计模式, 是对MVC的扩展, 把网络请求模块抽出来放到N( 网络请求 )中去, 来提高代码简洁度. 有不加大代码的可读性.
具体做法
每个控制器模块, 我们建四个文件夹:
- Model 2. View 3. Controller 4. NetRequest
前面三个不必多说, 单说NetRequest :
我们新建一个工具类单独处理控制器的网络请求, 再通过block的方式在控制器
中执行结果, 所有的网络请求都在一个类中非常方便我们管理. 瞬间世界美好了许多!!!
网友评论