Model-Driven驱动模式也就是MDD 或 MDD甚至DDD 这是现在分层架构软件开发的主要方向。
webwork作为分层架构中一个之层表现层, 当然要遵循MDD这样大的方向。
>Model扮演着奶牛的角色,它携带了我们所需要的数据资源(牛奶)。
>而如何操作这些数据,却不是奶牛的任务,而是农场工人(Action)的工作
操作Model不应该是Action, Action是MVC中的Controller,是负责前后调度,Action需要依赖service来操作Model,不能越厨代庖,这是MDD基本概念。
我个人认为:表现层的模式就是MVC,表现层是为业务层服务的,而业务层才涉及到MDD等概念。所以,在表现层谈业务层概念,是让人混淆。webwork作为一个诞生在MDD之前的老表现层框架,尽管它借助strut2.0侵入struts体内,但是它的腐朽气味已经散发,所以,就是webwork fans对它和现代MDD思想的解释也有些牵强附会。
是否将Model直接引入表现层?还是在表现层需要一个专门的界面对象?就是象struts1.x中的ActionForm(是不是POJO是另外一个设计细节),但是,至少告诉我们界面对象并不和Model是同一个对象,虽然在简单小的应用,他们可以合二为一,但复杂项目就不是,因为界面对象可能包含一些与jsp显示有关的特别属性,而Model中包含的应该是业务属性,不能加入包含计算机概念的显示有关属性.所以,正式场合下是不能推荐将Model直接引入表现层使用的(尽管方便快),无论是Webwork/struts2.0/JSF
[该贴被banq于2007-12-03 11:16修改过]
[该贴被banq于2007-12-03 11:18修改过]