MVC结构化分明,直白; 同时,爱因斯坦先生说过:任何事物可以尽量简单,但不能太简单。这就造成了MVC在某些应用场合无法胜任无法的复杂的业务逻辑的开发应用。
而,DCI说明的是静态对象和现实对象是不同的,这是因为,比如一个人,在不同的场所有不同的角色,你上班可能是个CEO,回家是个丈夫和老爸的角色。 所以呢,你被分解为静态的你和动态的你,静态的你是不变的数据,比如你还是长一头白发/黑发,而动态的你是因为你在不同的场景(场所)下有不同的行为。
所以DCI分解了3个部分:(复制banq老师的一篇文章 参看 )
1.数据data:是领域对象中代表领域类概念的那部分。
2.场景context:根据运行时即时调用,将活的对象实例带到符合用例需求的场景中
3.交互interactions, 描述需求用户心目中角色的活动算法。
一个活体对象在不同的场景应用下会被注入不同的交互功能(也可以理解为不同的场景下变成不同的身份角色)。
以上是我的理解,哪里不对要给我指正扩展一下。
[该贴被javagens于2010-04-09 14:13修改过]
[该贴被javagens于2010-04-09 14:14修改过]
[该贴被javagens于2010-04-09 15:01修改过]