MVCN设计模式

2017-01-14  本文已影响54人  winlee

MVCN设计模式

先来看下常用的设计模式

常用的设计模式有

这几种常用的设计模式中大部分人一直用MVC, 我也在使用.

那么那么什么是MVC?

模型(Model),用于存储程序中使用到的数据;视图(View),用不同的表现形式来呈现数据;控制器(Controller),更新模型。

它由如下三部分组成:
  1. 模型(Model) -“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。 “模型”有对数据直接访问的权力。 “模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。
  2. 视图(View) - 视图层能够实现数据有目的的显示,通常是一个用户界面元素。在视图中一般没有程序上的逻辑。在 Web 应用程序中的 MVC,通常把显示动态数据的 html 页面称为视图。
  3. 控制器(Controller) - 处理和响应事件,通常是用户操作,并监控模型上的变化,然后去修改视图。
MVC的缺点

当我们在用MVC来优化代码时, 发现控制器( Controller )中仍然存在着大量的冗余代码. 自己看着都头大. 但是当我们仔细分析下, 就会发现这些冗余的代码大部分都是些自定义的发放和网络请求. 自定义的方法我们通常会使用分类, 类扩展和工具类来解决. 但是还是会有一大坨网络请求留在哪里.

为了解决MVC的缺点我们通常会采用MVVM的设计模式来把网络请求放在ViewModel中来处理, 而我想到的是, 通过扩展MVC设计模式的方式来尽量避免MVC的缺点

MVCN设计模式

MVCN设计模式, 是对MVC的扩展, 把网络请求模块抽出来放到N( 网络请求 )中去, 来提高代码简洁度. 有不加大代码的可读性.

具体做法

每个控制器模块, 我们建四个文件夹:

  1. Model 2. View 3. Controller 4. NetRequest
    前面三个不必多说, 单说NetRequest :
    我们新建一个工具类单独处理控制器的网络请求, 再通过block的方式在控制器
    中执行结果, 所有的网络请求都在一个类中非常方便我们管理. 瞬间世界美好了许多!!!
上一篇下一篇

猜你喜欢

热点阅读