是否有可能过度接口?现在设计一个系统时,我将从接口开始,逐步编写单元测试和接口,直到我有一个运行良好的模式.我将继续编写一些具体的类,并设置单元测试对这些..
现在我是一个喜欢接口的人,我通常最终只会在控制代码时传递/返回灵长类动物或接口.到目前为止,我发现这是理想的,你可以很容易地适应和增强系统不影响依赖系统.
我显然不需要出售使用接口的原因,但我想知道它是否过于接口所有,ps.我不是在谈论空白接口,就像疯狂的东西一样:
interface IStringCollection : ICollection<string>
{
}
Run Code Online (Sandbox Code Playgroud)
我说的更像是:
interface ISomethingProvider
{
ISomething Provide(ISomethingOptions options);
}
Run Code Online (Sandbox Code Playgroud)
这真的超过了顶峰吗?我的理由是任何类型都可以通过某种程度的接口获得...而我唯一真正的问题是我必须学习我认为更好的设计课程的方法,因为你没有愚蠢互动和"黑客"正在进行中.
如果这是一个定时炸弹,当你决定接口而不是...时,会喜欢你的反馈.
ps-这不是关于如何编写接口的真正原因.
接口描述了行为合同.如果您需要根据行为模式来处理某些对象集,那么接口是有用的,而不是如果您只是简单地描述对象的结构.我认为您需要有充分的理由使用它们,例如使用创建行为相关对象的工厂或为库的一部分建立行为合同.漫无目的地使用接口会使库难以阅读/理解/维护.