我正在开发的演示应用程序有一个很长的启动例程。在此期间,我试图用新思想替换的应用程序会大量记录到控制台(想象一下:“现在正在加载数据。。。网状样条。。。登录到第三方服务…)。
在花了一整天的时间从零开始学习DI之后,我创建了整个(!)对象图现在只需调用容器。谢谢大家,顺便说一句,你们提供了这么多的想法和惊人的答案。这个社区很受欢迎。
但现在,我想做的是再次使初始化具有确定性,这样我就可以登录我的工作流(我使用的是workflow Foundation 4.0,因为我喜欢声明式样式,并且我可以在图形中显示人们所发生的事情)当我加载数据、网格样条线和所有这些内容时。
你认为拥有一个“StartupManager”类是一个可接受的实践吗(在我的体系结构中,现在唯一的一个类,我杀死了所有其他的“实例获取者”!)它将对它注入的对象调用二次初始化方法(这里我使用了build()和基于属性的DI)?
原因是我想显式地调用工作流活动中的长初始化方法。在编辑看来很棒,我的老板会很高兴当我展示这个(他没有要求,这是我的主意花周末做一些事情,我也认为这是很多乐趣)。
我想你是为了好玩和学习而创建自己的DI框架,对吧?否则只需使用现有的。
不:)你不应该有任何静电。你的算法可能是这样的:
或者看看spring是如何构建的——它是编写良好的DI框架的一个很好的例子