归结为“为可测试性而设计”。理想情况下,您不应该直接实例化这些 COM 对象,而应该通过可以被模拟对象替换的间接层来访问它们。
现在,COM 本身确实提供了一定程度的间接性,您可以提供一个模拟对象来替代真实对象,但我怀疑创建它会很痛苦,我怀疑您是否会从现有的模拟框架。