MVC模式是否到了应该终结的时候?

我曾经写一篇MVC模式已死,认为MVC这种结构性静止模式无法适应动态通讯日益频繁的新需求,今天看到Dzone一篇文章:
MVC模式是否到了应该终结的时候?

文章主要从耦合解耦角度来看这问题,传统MVC带来紧耦合:

作者提出松耦合的设计图:

作者引入了事件模型达到松耦合,配置如下:



<?xml version="1.0"?>
<application initial=
"A">
<module id=
"A">
<on event=
"next" to="B"/>
</module>


<module id=
"B" >

<on event=
"previous" to="A"/>
<on event=
"next" to="C"/>
</module>


<module id=
"C">

<on event=
"previous" to="B"/>
<on event=
"next" to="D"/>
</module>


<module id=
"D">

<on event=
"previous" to="C"/>
<on event=
"finish" to="finish"/>
</module>


<on event=
"cancel" to="cancel"/>

<final id=
"finish" />
<final id=
"cancel" />
</application>

配置文件相当于一个状态机(Finite State Machine),将事件状态通过状态模式进行了很好的松耦合分离。

作者认为可以通过Spring Web Flow 和 Lexaden Web Flow来实现这种配置。

banq注:看来事件模型不但对业务领域形成冲击革新,也将革新前端,本来JS提出的EDA概念很好,却被落后的前端中间件如Struts SpringMVC JSF扼杀了。

JS提出的EDA概念

这个如何理解?

2013-02-21 17:42 "@lostalien"的内容
JS提出的EDA概念 ...

准确说应该是事件驱动概念,无论浏览器的JS还是后端Node.js

MVC模式是从页面与控制器这种大粒度角度出发,把请求响应看成在它们之间穿针引线。MVC模式这种特点是强调主要是页面控制器这样结构,其次才是请求响应。而随着Web 2.0等互动可响应需求不断提升,“请求响应”才应该是主要的。

事件模型-下一个前沿批评了这种“请求响应”思维视角:
人们必须以事件驱动EDA的方式思考,而不是传统的请求驱动的方式思考。

如果我们从EDA方式,而不是请求响应方式来思考MVC模式,MVC模式其实真的不存在了,横看成岭侧成峰。