我在这里阅读了几个问题,似乎普遍的共识是项目中的每个类都不需要接口。我读过这样的帖子:为每个类提取接口是最佳实践吗?.
我想知道这如何应用于 .NET 框架类。我相信我看过的所有类要么继承自抽象类,例如 SQLConnection 继承自 dbConnection,要么实现和接口,例如 Component 类实现 IComponent 接口。
我有一个 Reflector 的副本,我在两个月前下载了它,我正在等待许可证(最近支付了费用)。当我开始单步执行代码时(使用反射器);我会看到这样的代码吗:
Public Class Foo
Public Name As String
Public Property NameProperty()
Get
Return Name
End Get
Set(value)
Name = value
End Set
End Property
Public Shared Sub Main()
Dim f As Foo = New Foo
f.NameProperty = "Ian"
End Sub
End Class
而不是这样的代码:
Public Class Foo
Implements IFoo
Public Name As String
Public Property NameProperty() Implements IFoo.NameProperty
Get
Return Name
End Get
Set(value)
Name = value
End Set
End Property
Public Shared Sub Main()
Dim f As IFoo = New Foo
f.NameProperty = "Ian"
End Sub
End Class
Public Interface IFoo
Property NameProperty()
End Interface
请注意,第二个代码片段中使用了一个接口。我仍然在努力理解什么时候不适合使用接口。一些开发人员说永远不会。我想其中一些是主观的。