用Scala macros实现DCI 2012-12-11 banq 源码见内:用Scala macros实现DCI:DCI/scaladci · GitHub 主要使用trait mixin将角色行为混入实体Account中。Context提供混合杂交场所:trait Context { implicit protected def obj2binder<a href="obj: OBJ">OBJ</a> = new Binder(obj) protected class Binder<a href="val obj: OBJ">OBJ</a> { def as[ROLE] = macro Context.bind[OBJ, ROLE] }}Binder中的as[ROLE]方法调用绑定宏macro ,创建Account with Source.。 [该贴被banq于2012-12-11 09:13修改过]