V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
issues
V2EX  ›  问与答

在使用 MVC 模式的时候, 网络请求放在哪里, 更为合理一些或者有其他更好的解决方案嘛?

  •  1
     
  •   issues · 2015-07-06 13:11:27 +08:00 · 4473 次点击
    这是一个创建于 3453 天前的主题,其中的信息可能已经有所发展或是发生改变。
    估计有的放Controller, view, model里的都有,放在view里的我觉的纯粹就是瞎搞,controller还可以忍受, 还有其他的更好的解决方案嘛?
    16 条回复    2015-08-12 14:34:52 +08:00
    Clarencep
        1
    Clarencep  
       2015-07-06 13:37:14 +08:00
    网络请求?调用其他系统的REST之类接口吗?
    issues
        2
    issues  
    OP
       2015-07-06 13:53:16 +08:00
    @Clarencep 调用服务器的api
    nagato
        3
    nagato  
       2015-07-06 13:54:38 +08:00
    Model
    issues
        4
    issues  
    OP
       2015-07-06 13:56:09 +08:00
    @nagato 这个也可以
    hdbean
        5
    hdbean  
       2015-07-06 14:04:15 +08:00
    记得以前在网易面试的时候,也问过我同样的问题,我说放View,面试官不以为然呵呵冷笑了一下.
    Clarencep
        6
    Clarencep  
       2015-07-06 14:47:53 +08:00
    @issues 必须是model层;controller层要精简,这种接口调用还是放model层比较合适。若是想搞得解(fu)耦(za)一点,可以将model再分割为BLL和DAL,接口调用放在DAL里面。
    chaucerling
        7
    chaucerling  
       2015-07-06 14:49:10 +08:00
    封装成lib
    Comdex
        8
    Comdex  
       2015-07-06 17:02:27 +08:00
    @Clarencep BLL和DAL是啥?
    Cynthiasun
        9
    Cynthiasun  
       2015-07-06 17:15:07 +08:00
    model
    belanote
        10
    belanote  
       2015-07-06 17:18:24 +08:00
    必须 model 啊
    jarlyyn
        11
    jarlyyn  
       2015-07-06 17:26:24 +08:00
    我是放model的,

    就若同后台的mvc,数据库操作必然是model里一样。
    mhycy
        12
    mhycy  
       2015-07-06 17:35:10 +08:00
    定义在model
    然后方法以特殊的名称定义,例如API_xxxxxx()
    然后在一个controller里面统一处理
    chmlai
        13
    chmlai  
       2015-07-06 17:43:25 +08:00
    一般把网络请求先封装成"Service"层, 然后再 model 或者 controller 里面访问都可以接受.
    Clarencep
        14
    Clarencep  
       2015-07-06 20:58:35 +08:00
    @Comdex BLL = Business Logic Layer DAL = Data Access Layer
    myc0210
        15
    myc0210  
       2015-07-07 11:17:31 +08:00
    angularjs 的话就是扔去一个service里= =
    zylll520
        16
    zylll520  
       2015-08-12 14:34:52 +08:00
    从流程上网络请求由 C 发出,经过 M 的转换,传给 C ,然后再传递给 V 显示,V 里面放业务逻辑就可以了,独立出来的话,网络请求包含 M,C 引用网络请求,感觉逻辑上 MVC 中 MV 之间没有连接了,所以我想放在 M 里面可以吗?但模型和网络请求就混合在一起了,不知道后期好不好维护?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2402 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 00:02 · PVG 08:02 · LAX 16:02 · JFK 19:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.