我是一个实现依赖注入(inject)的小型C++库的作者(我想有人会称它为“IoC容器”)。我一直认为为图书馆找到一个好的比喻可以在很多方面提供帮助:它简化了库的使用它帮助图书馆的作者找到正确的抽象它是检查设计合理性的指南这是一种为类找到有意义名称的方法等等...现在,在我的库中,我使用了设备/插头比喻:您的类是“设备”,它们的依赖项是“插头”,您可以将插头连接到另一个设备。这是一个代码示例:REGISTERED_CLASS(Foo),publicDevice{...private:Plugbar;...};...catalog.Create("myFoo","Foo");catalo