zoukankan      html  css  js  c++  java
  • MVC记录

    MVC这三层分别要完成哪些工作呢?

    1、M层 模型(更多的是数据库模型)

    (1)创建数据库、创建相应的表

    (2)完成针对数据库各个表的增、删、改、查的操作类

    (3)映射数据库各个表的实体类(这个实体类的作用就是沟通数据库层(M)和控制层(C)的桥梁,同时这个实体类也将担负其后台数据(xml、sbjson等)与本地数据的沟通和存储)

     

      本层要实现的功能:

      (1)

      本层输入件:sql增加或插入数据库表对应的实体类的对象的语句

      本层输出件:增加、或插入数据库

      (2)

      本层输入件:sql查询语句

      本层输出件:返回存储实体类对象的数组

      (3)

      本层输入件:sql删除语句

      本层输出件:删除数据库中的指定信息

     

    2、V层 视图

    不用多讲了,在ios中,这个层主要由.xib文件完成。如果客户由自定义需求,则在.m文件中实现。

    本层实现的功能就是控件的布局。

     

    3、C层 控制

      这个层的意义就在于确保M和V的同步。我个人理解,这层不仅叫控制层,更应该叫业务层。

      本层要实现的功能:

      (1)

      本层输入件:界面控件中数据和事件

      本层输出件:

      第一:调用M层的接口,更新M层(数据库)中的数据

      第二:调用V层的接口,更新V层(界面)中的数据

     

     

      在现实的开发过程中,代码真的就这么清晰地分成以上三种吗?

      现实中,工程中还有以下几种类型的代码:

      (1)接口文件[数据操作]

      (2)解析通过接口获取的数据[数据操作]

      (3)开源框架(实现各种界面效果、解析各种数据)[数据操作+V显示]

      (4)工具类(比如为图片增加圆角、实现checkbox、实现各种页面效果、数据加密解密)[数据操作+V显示]

      (5)本项目提炼的公用类(如验证、升级检测、数据更新等)[数据操作M]

     

     

    业务层BusinessLayer:

    可以调用:数据层

    可以被调用:控制层

     

    组织当前软件独特的业务体系,只处理数据,和数据层和控制层有关系,和界面层没有任何关系。

    常见业务:

    (1)数据同步(用到数据层数据操作和界面层的数据)

    (2)软件升级

    (3)登录验证

    (4)账号有效性验证

     

      控制层ControllerLayer:只负责数据层和界面层的数据同步(通过业务层来实现)

      数据层DataLayer:只和数据打交道,和业务毫无关系

      界面层ViewLevel:只和界面打交道,和控制层打交道,和其他层毫无关系

    上面写的比较乱,来张图,看看能不能捋清楚,知道我们在实际编码过程中组织各种代码和文件:

     

    用MVC思想重构一个项目的核心就是剥离出这个项目的业务逻辑。

    什么是项目的业务逻辑?所谓业务逻辑关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计。简而言之,所谓业务逻辑就是指业务规则。凡事有规则的东西,就是业务逻辑,没有规则的东西就不是业务逻辑。

    利用MVC思想组织的文件结构一例:

  • 相关阅读:
    C# 从需要登录的网站上抓取数据
    mysql
    Fiddler抓取https设置详解(图文)
    Handlebars块级Helpers
    SQL优化技巧
    MyBatis持久层框架使用总结
    网页刷新页面方法小结
    史上最全的程序猿面试资料
    ActiveMQ开发与简介
    Lex使用指南
  • 原文地址:https://www.cnblogs.com/goodheart/p/4049937.html
Copyright © 2011-2022 走看看