![]() |
1
4
从库中公开代码与之相关的成本很高。暴露于 框架 图书馆更高。 二 强烈地 推动您在产品生命周期中保持二进制(和可能的源代码)兼容性。更糟糕的是,这些都是供应商可能会使用的东西,这意味着微软违反这些类上的任何合同都可能会破坏一个使用我的数百或数千个付费客户的小部件。 打破向后兼容性是MSFT历史上一直避免做的事情(可以看到名为foo2、foo3的接口数量,以及名为blah和blahex的方法)。 由于他们在一生中以这种方式稳定地承担了相当大的“债务”,他们意识到,从一开始就避免这些问题是未来减少此类问题的最廉价的方法。因此,任何新的公共API必须非常有力地证明它们的存在。 设计时代码生成是一种强烈要求在软件生态系统的整个生命周期中进行改进的领域(查看vs中的部分类更改,了解该领域的主要更改,但还有许多其他较小的更改)。通过公开那些严重依赖于这个基础设施的类,它们将限制它们更改它们视为竞争优势的基础设施的范围。 因此,明智、安全的方法是不公开此类。我当然也会采取同样的方法,而不是像微软这样规模和客户群庞大的公司。 |
![]() |
2
0
我不知道,但我想微软的答案可能是“我们就是这样做的”,也可能是“我们想减轻保持向后兼容性的负担”。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 7 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 7 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 7 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |