我的任务是完成一些关于如何启动应用程序的重构工作。基本上我们有一些控制台应用程序,这些应用程序依赖于GUI应用程序启动代码,从而导致伪造依赖关系,这些依赖关系具有我们需要发布的库以及其他模块需要声明的依赖关系的启动效果。控制PicoContainer启动的顺序
因此,我写了一个简单的启动框架,我基本上只是将一堆Runnable对象放入列表中,然后按顺序运行它们 - 并且工作正常。
但是我在想 - 我们已经PicoContainer的在我们的项目,所以所有这些东西,需要在启动时运行可能被扔进PicoContainer的,如果他们实施可启动,他们将开始...
但在某些情况下,我们想要指定它们之间的顺序。例如,我们不希望任何其他组件写入日志,然后再向日志中写入一个表示应用程序正在启动的标头。我知道我可以通过引入注入依赖来介绍排序,但是在这种情况下,这感觉就像是黑客攻击 - 我需要添加日志头文件作为每个可能写入日志的其他组件的依赖项,这不是很好所有。
尽管如此,它似乎是很好的控制PicoContainer启动顺序,所以也许还有其他方式?
或者我可以保持简单并坚持我的Runnable列表。毕竟,它的确工作。
实际上,将启动头写入记录器的组件是一个独立于记录器本身的组件(单一责任原则,以及所有这些)。 – Trejkaz 2010-11-04 09:03:27