【发布时间】:2018-05-03 18:23:07
【问题描述】:
我正在尝试将一些旧的 C++ 代码转换为更可测试的形式。为了符合依赖倒置原则(DIP),我会在很多情况下使用依赖注入。
我的问题是如何最好地实例化具体类。这段代码中有 100 个我自己的类。在他的《清洁架构》一书中,罗伯特·马丁认为这些类是易变的,应该在工厂中实例化。但是(参见本书的第 90 页),我要实例化的每个类需要 4 个类。这意味着 400 个课程。
为了便于说明,假设旧代码有一个类 A(它实例化并使用类 A1 到 A5)、B(B1 到 B10)和 C(类 C1 到 C3)。
在新代码中,您建议如何以及在何处实例化所有具体类?我特别想听听任何在大型 C++ 程序中处理过此类问题的人的意见。谢谢。
布鲁斯
【问题讨论】:
-
如果有人有你引用的那本书,你的问题是可以理解的。所以得到答案的概率是 P("one has the book")*P("one has the same problem")*P("He will be on the site in the next hour") = 当然是一个小数字。你可能不会有任何答案。
标签: c++ dependency-injection dependency-inversion