MVC架构的最新技术?

7 java wpf model-view-controller user-interface cocoa

似乎有大量可能的MVC配置/架构(MVC,MVVM,MVP,HMVC,PAC,文档视图......).是否有任何目前被接受的"最佳"或最先进的MVC架构?什么是最新的想法?或者它是一个免费的和/或简单地绑定到一个开发的平台(例如MVF的MVVM)?

(具体来说,我对在桌面/富客户端应用程序中应用的MVC感兴趣.)

Ray*_*rns 6

不会.您不会就"当前接受的"最佳架构达成任何协议.

它肯定不是MVC或MVP.这些架构分别起源于70年代末和90年代初. MVP是对MVC的一种改进,但是自MVP发明以来的二十年中,很明显它遭受了许多很多缺陷.这就是为什么有这么多新的竞争架构.

"模型"和"视图"的概念被广泛接受,并且似乎是当今所有当前架构模型的共同点.真正的问题是如何最好地将它们联系在一起.除了模型和视图之外,还需要其他东西,但是什么?

大多数较新的体系结构倾向于通过使用数据绑定,表达式或类似机制使视图链接或直接绑定到模型和"其他"来实现此目的.这样,模型中可以由视图直接绑定的任何东西都不需要涉及"其他东西".

我个人最喜欢的是MVVM.我喜欢这样一个事实:"视图模型"在概念上只是一个"模型",具有任何其他模型的所有方面,除了它(通常)不会写入磁盘.事实上,如果不是混淆"MVVM"可以重命名为"MV",因为除了视图和模型之外,它几乎不需要任何其他东西.MVVM不仅可以用于WPF,还可以用于任何具有高级数据绑定功能的表示框架.不幸的是,这不包括GWT和Cocoa.我也喜欢MVVM,因为它倾向于完全消除冗余或重复的代码.

MVVM并不是城里唯一的高级玩家.基于面向方面的方法和基于传统模型和视图构建的命令架构也具有类似的愿望.

最重要的是,这仍然是一个积极研究的领域,目前尚未达成共识.MVVM是新架构中最受欢迎的,但不是唯一的架构.陪审团还在外面.

注意: 要了解较新的体系结构如何对MVC和MVP进行改进,请查看Cocoa和WPF的比较,从标题"重复代码"开始,一直到"命令体系结构"部分的末尾.