首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DCI架构的可能设计是什么?

DCI架构的可能设计是什么?
EN

Stack Overflow用户
提问于 2010-04-05 21:14:16
回答 2查看 1.4K关注 0票数 4

在不同的OOP语言中实现DCI (数据、上下文、交互)架构的可能设计是什么?我想到了C++的基于策略的设计(Andrei Alexandrescu),以及Java的DI和AOP。然而,我也考虑过使用状态设计模式来表示角色,并使用某种模板方法来进行交互……其他的可能性是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-29 07:01:38

在Java中,如果没有字节码生成,我将使用Decorator模式作为上下文,但是我将不使用类来装饰接口,这将更加灵活。数据将通过实现接口的类来表示。交互将使用手动依赖注入到模板方法中。

票数 2
EN

Stack Overflow用户

发布于 2012-03-14 20:17:17

在大多数语言中,做纯DCI是很困难的,你通常会遇到以下两个问题之一。静态类型语言,如Java,通常以某种包装器解决方案结束,这会产生self schizofrenia问题。允许您在运行时随意附加新实例方法的动态语言经常受到作用域问题的影响。当对象不再扮演该角色时,RoleMethods仍然可用。

我所知道的最适合不同语言的

Ruby:为设计,因此完全支持使用

  • ruby.
  • Java: Qi4J
  • C#扩展方法(作用域问题和重载问题)可能与动态一起使用。我有一个基于Clay的实现,但它产生了一个identity problem
  • Native :方法注入作用域问题,当对象不再扮演
  • C++:Templates的角色时,方法是可用的。作用域问题方法的生命周期与

的对象生命周期相同

如果你看一下fullOO,你会发现有几种语言的例子。包括我自己的项目Marvin,这是一种专门为支持DCI而设计的语言。目前,Marvin的大部分语言都与C#相同,所以你可以说它是C#的扩展,而不是它自己的语言。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2578528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档