RAII (Resource Acquisition Is Initialization) 是建议的构造对象的方法之一。它与单元测试原则有什么关系:在构造函数中没有完成复杂的工作?尤其是“新”运算符没有明确创建对象?然而,某些对象的创建有时需要一些更复杂的步骤,并且将工厂传递给构造函数会使 API 变得“脏”,这意味着降低了易读性。同时满足这两个原则的一般方法是什么?
我在 SO 上找到了另一个主题:堆栈分配的 RAII 对象与 DI 原则,但是它看起来像一个更普遍的问题,并且没有得到很好的解释。