V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mouyase
V2EX  ›  Android

自己开发小应用究竟要不要用 MVP 或者 MVVM 的模式?

  •  
  •   mouyase · 2019-04-24 11:53:47 +08:00 · 11226 次点击
    这是一个创建于 2022 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先先说明,本人水平比较差,所以并没有过使用 MVP 或者 MVVM 的经验,感觉上应该是比较先进的思想,但是感觉上手起来好像也蛮困难的……现在自己想做几个小应用,不知道要不要尝试使用这些模式,这些模式用起来会不会有什么麻烦……比如我听说 MVP 会产生大量的接口,导致维护起来也会有麻烦?
    33 条回复    2019-06-25 18:10:07 +08:00
    EKkoGG
        1
    EKkoGG  
       2019-04-24 11:55:10 +08:00
    MVC
    waising
        2
    waising  
       2019-04-24 12:00:13 +08:00 via iPhone
    mvvm
    momocraft
        3
    momocraft  
       2019-04-24 12:02:15 +08:00
    看有多小,todolist 可能不用,稍复杂的么... 反正不用一次是学不会自己判断的
    HongJay
        4
    HongJay  
       2019-04-24 12:02:34 +08:00
    你就想一辈子小厂?
    winterbells
        5
    winterbells  
       2019-04-24 12:02:57 +08:00 via Android
    用呗,就当是学习了
    其它模式也不见得多好。。。
    ThomasZ
        6
    ThomasZ  
       2019-04-24 12:08:48 +08:00 via Android   ❤️ 3
    自己做小东西了,还不赶紧把能用的新技术都用上。。。 不要指望工作中的提升
    kitalphaj
        7
    kitalphaj  
       2019-04-24 12:20:44 +08:00   ❤️ 1
    个人项目或者 5 人以内项目建议 MVVM+Rx,大项目可以考虑加入 P。

    MVVM 本身其实不复杂,加上 Rx 会增加难度特别是 Android,建议参考 Github 优秀开源软件比如 Kickstarter 的安卓版
    gz911122
        8
    gz911122  
       2019-04-24 13:06:48 +08:00
    mvvm
    开发效率高
    databinding 就是快
    SeanChense
        9
    SeanChense  
       2019-04-24 13:09:52 +08:00
    我的公司算个大厂吧。但我觉得个人项目就别搞这些了,MVC 不好吗?
    zhihaofans
        10
    zhihaofans  
       2019-04-24 13:12:13 +08:00 via Android
    自己怎么开心怎么来
    mouyase
        11
    mouyase  
    OP
       2019-04-24 14:28:56 +08:00
    @waising
    @winterbells
    @ThomasZ
    @kitalphaj
    @gz911122 感谢各位回复,决定试着用一用 MVVM 模式来做东西了。希望可以了解一下新的思想。
    oakMac
        12
    oakMac  
       2019-04-24 16:50:22 +08:00
    MVP 维护起来像吃了翔一样难受
    xuanbg
        13
    xuanbg  
       2019-04-24 16:56:06 +08:00
    我连古老的 WinForm 都要写成 MVC 模式,你说你的小项目要不要?

    如果你用了 MVC 或 MVVM 什么的,小项目可以快速增殖变身大项目,而且写起来和小项目一样清爽。如果随便乱搞,这个小项目以后不说难以扩展,就是维护,也会非常麻烦。
    dabaibai
        14
    dabaibai  
       2019-04-24 19:54:22 +08:00
    用,将来开发第二第三个第四个 速度会飞起
    Iamnotfish
        15
    Iamnotfish  
       2019-04-24 22:41:00 +08:00
    感觉楼上全是精英嗷,我觉得楼主的问题可以细化一下。你开发小程序的目的是为了学习还是为了一次开发呢?如果是为了学习的话可以了解一下各种模式之类的。但是如果只是为了一次性开发使用面对过程式开发是很好的选择,使用 MVVM,MVP,MVC 都是需要有一定基础的,因为如果在你 0 基础没人带着你的话你很容易打破模式的限制,写出来一个不三不四的程序。希望楼主考虑周全
    Iamnotfish
        16
    Iamnotfish  
       2019-04-24 22:43:29 +08:00
    而且我觉得楼主所谓的‘小程序’和各位理解的‘小程序’可能存在一定偏差。大家理解的小程序估计是微信小程序。楼主的意思可能是一个 CONSOLE 加减程序。。。
    HuHui
        17
    HuHui  
       2019-04-24 22:44:48 +08:00 via Android
    不要想太多,先做了再说
    xuyuheng0905
        18
    xuyuheng0905  
       2019-04-24 22:49:01 +08:00
    MVC 合适就用 MVC,架构是逐步演化的,不要想一步到位。遇到问题才去解决。
    fuxiaohei
        19
    fuxiaohei  
       2019-04-24 23:04:27 +08:00   ❤️ 1
    如果觉得你做的东西很有意思,用最熟悉的技术
    如果觉得你做的东西没啥意思,用最新颖的技术
    2kCS5c0b0ITXE5k2
        20
    2kCS5c0b0ITXE5k2  
       2019-04-25 00:56:50 +08:00
    学啊. 反正自己的小项目 挺好的 mvvm
    hotsymbol
        21
    hotsymbol  
       2019-04-25 01:04:50 +08:00
    当然是微服务框架
    Airy
        22
    Airy  
       2019-04-25 01:49:45 +08:00 via Android
    viewmodel+databinding,忘了 mvc 吧,mvvm 赛高
    HuasLeung
        23
    HuasLeung  
       2019-04-25 09:17:15 +08:00
    头像很可爱
    qianji201712
        24
    qianji201712  
       2019-04-25 09:27:43 +08:00
    MVP 的确会产生很多的接口,如果想让代码简洁,那么设计 MVP 接口至关重要。
    如果你自己的小项目,而且对 MVP 不是很熟的话,建议直接 MVC 吧,我觉得写代码,不能纠结于框架,适合的才是最好的,就你目前的情况,应该是怎么舒服怎么来。
    MVP 没产生之前,不照样有很多优秀的 MVC 代码,hhhh
    jiqingke
        25
    jiqingke  
       2019-04-25 09:37:00 +08:00
    mvvm+jetpack,最好用 kotlin 写,我保证会给你不一样的感觉
    thinkloki
        26
    thinkloki  
       2019-04-25 10:18:21 +08:00
    mvc 一把嗦,问就是开发熟悉,懒得学。
    ksssdh123
        27
    ksssdh123  
       2019-04-25 10:38:23 +08:00
    自己开发,想怎么来就怎么来,关键是自己代码能看明白

    MVP,MVVM 分层 无非就是让数据 层次更清晰,别人去看你代码的时候 非常清楚数据的流向
    mouyase
        28
    mouyase  
    OP
       2019-04-26 12:18:02 +08:00 via Android
    @Iamnotfish XD 其实我上面写的是小应用,我是做安卓的
    chaorenry
        29
    chaorenry  
       2019-04-26 16:24:10 +08:00
    如果你以前做过 java 那就用 mvp,特点是理解快速和方便入手,如果你没用过,那就 mvvm,特点是数据订阅和刷新都帮你处理了,只要你不是写 demo 测试,就不要直接在 activity 里动手
    huruwo
        30
    huruwo  
       2019-04-28 10:43:45 +08:00
    建议直接上 jetpack 一步到位
    Goolge
        31
    Goolge  
       2019-04-29 10:40:43 +08:00
    MVP 感觉是忽悠人的 并不是那么美好。同意楼上你可以试试 Jetpack。我习惯了 MVC。
    mouyase
        32
    mouyase  
    OP
       2019-04-30 10:46:21 +08:00
    @huruwo
    @Goolge
    正在尝试使用 Jetpack,感谢大家回复
    shineyang
        33
    shineyang  
       2019-06-25 18:10:07 +08:00
    @chaorenry 正解~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:23 · PVG 05:23 · LAX 13:23 · JFK 16:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.