【发布时间】:2012-02-06 16:40:12
【问题描述】:
我很好奇开发人员关于类接口应该放置在 .NET 类库中的什么位置的意见/实践。它们是否应该包含在解决方案中自己的专用库中,例如 MyCompany.AccountPackage.Interfaces?
他们是否应该有自己的命名空间,例如MyCompany.AccountPackage.MasterAccounts.Interfaces?
任何其他想法/意见表示赞赏?
是否有任何好的指南来演示如何构建 .Net 库(甚至更好的解决方案),一般显示哪些类/接口通常应该在标准库中公开。
谢谢, d.
【问题讨论】:
-
在我做过的所有课程和教程中,界面总是放在班级的正上方
-
我不会给他们自己的命名空间或库。正如 .NET Framework 设计指南 中的一位超级聪明人所说(我不记得是哪一个,而且我的书不方便),除非您 还 提供该接口的具体实现。因此,只需将接口放在与该实现相同的命名空间中即可。
-
也就是说,我实际上会努力尽量减少您编写的接口数量,而不是尽可能选择抽象类。这为您提供了接口的几乎所有优点,同时还允许您为许多方法提供默认实现。但这确实是主观的;我不确定这是否适合 SO。
-
@CodyGray 相信它还继续说除非它也被消耗,否则不要发货(他们甚至引用
ICloneable作为一个坏例子)
标签: c# design-patterns interface