Joh*_*dol 8 .net architecture components interface
在基于组件的体系结构中,大量的解耦组件通过一组标准化接口进行通信 - 是否有任何关于接口存储/如何分组的指导原则?
极端的解决方案是:
这两个选项对我来说似乎都是错误的 - 第一个选项不够灵活(例如,如果你只想改变一个界面),第二个是另一个极端,这可能会很快升级到维护噩梦.
特别是,我正在寻找KILLER的论点,不要采用上面的两个极端,显然是替代的approchaes.
任何意见赞赏.
简而言之, 如果接口是共享的,那么它们必须分组在一个公共组件中,否则它们必须位于组件接口组件中。
更详细一点 如果标准化(即共享)接口之一发生变化,无论您将其放在何处,您都必须更改实现它的所有组件,无论该接口是在公共程序集中还是在组件中。因此,选项 1 没有特定的缺点,即使如您所说,您可能只需要更改一个接口。另一方面,在每个组件中复制通用接口也会有一个缺点,请参阅标准冗余问题。
这不是一个特殊的建议,而是从您(明智地)选择拥有标准化接口那一刻起的自然选择。您努力识别它们,发现它们是标准的,现在您将它们分组。
如果实现这些通用接口的组件还有一些其他临时接口,那么这些接口必须位于组件程序集中,因为它们不应该暴露给有权访问通用程序集的其他组件。