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

2017-06-26 09:12:11 +08:00
 ccw55

这是 github 地址:

https://github.com/jeffreyning/nh-micro

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

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

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

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

新技术总是美好的,但把它放到一个稍大规模的场景下,推行新技术就真的有难度。
wangdu2012
2017-06-26 13:50:23 +08:00
@whileFalse 装逼不到位啊。
kslr
2017-06-26 13:59:30 +08:00
优点确定都是相对于环境
kslr
2017-06-26 13:59:42 +08:00
确定 = 缺点
esmdxx1
2017-06-26 14:08:27 +08:00
mvc 只是 web 项目,windows 桌面程序和 app 都不会用 mvc
kokdemo
2017-06-26 14:41:58 +08:00
@esmdxx1 你这说的就不对了,mvc 本来就是传统软件领域的设计模式之一啊,怎么叫桌面程序和 app 都不用呢
mahui
2017-06-26 14:45:32 +08:00
读了那个项目的 readme,
首先数落了 MVC 缺点,然而那些似乎是某些项目结构的缺点,而非 MVC 架构模式的缺点。
介绍了本身项目的优势及特征,然而还是没离开 MVC。感觉该项目似乎只能说是一堆工具包而已,并非其所谓的 MVC
反模式,更非一种新模式。
质疑之前先了解,建议好好读读 MVC 的 wiki: https://zh.wikipedia.org/wiki/MVC。
MVC 不是银弹,但也没那么不堪。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371048

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX