【发布时间】:2011-07-18 06:42:08
【问题描述】:
我正在做一个有几个包的项目。我所有的类都是根据依赖注入理念实现的。
现在,在我的应用程序中,将有一个地方负责实例化所有对象(实际上我为此使用了 IoC 容器,但这不重要)——所谓的组合根。
现在,问题在于,至少在我的理解中,组合根必须知道系统中将使用的所有类。也就是说,所有类都必须标记为公开。
我可以为每个包定义一个包组合根,然后从系统的组合根中调用它们中的每一个,但这似乎不是一个好主意。
例如,在 C# 中,情况并没有那么严重,因为没有包保护的访问修饰符 -- 而是内部的(当前程序集的所有元素都可以访问)。
你们一般是怎么处理的?
【问题讨论】:
标签: java dependency-injection packages