Gab*_*bák 4 architecture oop dci
在不同的OOP语言中实现DCI(数据,上下文,交互)架构的可能设计有哪些?我想到了基于策略的设计(Andrei Alexandrescu)的C++,DI和AOP for Java.但是,我还考虑过使用State设计模式来表示角色和某种用于交互的Template方法......还有哪些其他可能性?
在大多数语言中做纯DCI是很困难的,你通常遇到两个问题之一.诸如Java之类的静态类型语言通常最终会出现某种包装解决方案,从而产生 自我精神分裂问题.允许您在运行时随意附加新实例方法的动态语言通常会遇到范围问题.当对象不再扮演角色时,RoleMethods仍然可用.
我知道最适合不同的语言
如果你看一下fullOO,你会发现几种语言的例子.包括在我自己的项目Marvin中,这是一种专门用于支持DCI的语言.目前,Marvin的大多数都与C#完全相同,所以你可以说它是C#的扩展而不是它自己的语言.