我正在使用QT,所以也许有更高级的选项或最佳实践方法。但是,如果有一个好的,一般的C++或语言不可知的答案,那将是最棒的!正确构建和破坏注入器依赖注入对象
我试图让由的setter依赖注入正确的配置,并有挣扎规划对象的生命时对象的构造和析构。
在一个German Microsoft Blog一个很好的比喻来讨论对象之间的依赖关系d,责任和互动,我想适应:
有一个主园丁和学徒,园丁
主希望学徒挖掘。一开始,徒弟正在建造一把铲子,所以他可以挖掘,但有人指责说,制造自己的铲子对于学徒来说太过责任。
现在在第二种方法中,主人可以访问一个漂亮的铲车工厂,生产质量可测试的铲子。他继续告诉学徒digWith(testableShovel)
。
现在二传手Dependendy注射的方面,我先给师傅告诉徒弟takeShovel(testableShovel)
(二传手),然后diggBoy()
让他掏。
问题出现了,当主人忘记告诉学徒采取铲子,因为现在学徒没有工具挖掘。
为了处理这种情况,我想知道 - 学徒在施工时是否创建了自己非常基础的挖掘设备(如一双手)?或者应该通过构造函数依赖注入来完成(允许构造函数和依赖注入)?创造/带来一双双手要求学徒,我宁愿有一个nullptr
- 检查?
现在,让我们假设我有我的徒弟创立了自己的一双手,谁必摧之,一旦他拿起铁锹的?一旦他放下铁锹,谁会重新创造它们?如果徒弟被放在一边,什么会被毁灭?
我还没有涉及智能指针的话题。我想,这是我阅读和拥抱的东西。谢谢你到目前为止。只要我完全理解你的答案(在那之前没有更好的答案),我会将其标记为已接受。在此之前(希望非常接近未来),* Thank You *和* + 1 *就足够了。 – derM