美文网首页
MVCN设计模式

MVCN设计模式

作者: winlee | 来源:发表于2017-01-14 14:32 被阅读54次

    MVCN设计模式

    • Model ( 模型 )
    • View ( 视图 )
    • Controller ( 控制器 )
    • NetRequest ( 网络请求 )

    先来看下常用的设计模式

    常用的设计模式有

    • MVC
    • MVP
    • MVVM

    这几种常用的设计模式中大部分人一直用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的方式在控制器
      中执行结果, 所有的网络请求都在一个类中非常方便我们管理. 瞬间世界美好了许多!!!

    相关文章

      网友评论

          本文标题:MVCN设计模式

          本文链接:https://www.haomeiwen.com/subject/uwpebttx.html