刚刚在 github 上看到一个项目,罗列了一些 mvc 框架的缺点,针对这些缺点给出了自己的解决方案。既然 mvc 缺点明显,为啥当下大多项目技术选型还是离不开 mvc?请各位大鸟轻喷。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ccw55
V2EX    分享发现

刚刚在 github 上看到一个项目,罗列了一些 mvc 框架的缺点,针对这些缺点给出了自己的解决方案。既然 mvc 缺点明显,为啥当下大多项目技术选型还是离不开 mvc?请各位大鸟轻喷。

  •  1
     
  •   ccw55 2017-06-26 09:12:11 +08:00 3460 次点击
    这是一个创建于 3029 天前的主题,其中的信息可能已经有所发或是发生改变。
    9 条回复    2017-06-26 14:45:32 +08:00
    tony1016
        1
    tony1016  
       2017-06-26 09:16:30 +08:00
    如果一件事情 30 分钟内内解决,就不要用什么 mvc 框架,这谁说得来着??
    Jameson1559
        2
    Jameson1559  
       2017-06-26 10:31:50 +08:00
    说一点个人的想法- -
    大型项目通常多人维护,如果其中大部分开发者擅长的都是 MVC (或者只知道 MVC )那么不出意外,这个项目最终就会定位 MVC 模式,因为
    - “我们都用 MVC,就你不用,你是不是搞特殊?”
    - “现在让所有人放弃 MVC 学其他的模式,你考虑过时间成本吗?”
    不过 MVC 这东西啊……不得不说,用来快速的搭建项目还是蛮合适的,不过还是挑项目的,比如你要是做个视频剪辑 App 还用 MVC 也是挺有趣了
    whileFalse
        3
    whileFalse  
       2017-06-26 13:09:00 +08:00
    Java 之所以是企业级编程语言的一个重要原因就是,程序员好找,并且即使是水平一般的程序员,只要用上合适的框架,也不会出大问题。

    任何框架都有缺点,也一定会有能解决这些缺点的新框架。这是因为,任何框架都是为了一个特定的场景,在一个特定的技术环境下设计出来的。当外界技术环境进步了的时候,框架可能老去被新的框架代替;如果说因为 [使用者的场景] 和 [框架设计来解决的场景] 不一致导致使用者认为框架不好用,那是另外的问题。

    比如楼主说的这个例子。楼主的解决方案中用到了 Groovy,这在以前是没有的。这就属于技术环境进步。而这同时也导致了场景变更:目前的大环境下,掌握 Groovy 的人毕竟还是少。而 mvc 本就是为更好的多人协作设计的。我自己写小程序基本不用 mvc。

    另外就是,楼主提到的解决方案没有大规模使用过,谁知道还有什么坑啊。

    新技术总是美好的,但把它放到一个稍大规模的场景下,推行新技术就真的有难度。
    wangdu2012
        4
    wangdu2012  
       2017-06-26 13:50:23 +08:00 via iPhone
    @whileFalse 装逼不到位啊。
    kslr
        5
    kslr  
       2017-06-26 13:59:30 +08:00 via Android
    优点确定都是相对于环境
    kslr
        6
    kslr  
       2017-06-26 13:59:42 +08:00 via Android
    确定 = 缺点
    esmdxx1
        7
    esmdxx1  
       2017-06-26 14:08:27 +08:00 via iPhone
    mvc 只是 web 项目,windows 桌面程序和 app 都不会用 mvc
    kokdemo
        8
    kokdemo  
       2017-06-26 14:41:58 +08:00
    @esmdxx1 你这说的就不对了,mvc 本来就是传统软件领域的设计模式之一啊,怎么叫桌面程序和 app 都不用呢
    mahui
        9
    mahui  
       2017-06-26 14:45:32 +08:00
    读了那个项目的 readme,
    首先数落了 MVC 缺点,然而那些似乎是某些项目结构的缺点,而非 MVC 架构模式的缺点。
    介绍了本身项目的优势及特征,然而还是没离开 MVC。感觉该项目似乎只能说是一堆工具包而已,并非其所谓的 MVC
    反模式,更非一种新模式。
    质疑之前先了解,建议好好读读 MVC 的 wiki: https://zh.wikipedia.org/wiki/MVC。
    MVC 不是银弹,但也没那么不堪。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1203 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:29 PVG 01:29 LAX 10:29 JFK 13:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86