我有几十个类都实现了相同的接口,并且许多方法具有相同的实现。每当我添加新课程时,我都必须进行大量复制和粘贴。如何减少代码重复?
我听说您应该将公共代码放在帮助程序类中,但是其中很多方法真的很简单,所以调用帮助程序方法几乎没有比做实际工作更简单。
继承将节省重新声明所有这些方法,但它会使少数没有相同实现的类变得混乱。
例子:
几乎每堂课都一样...
Public Sub ThingWasDeleted(ByVal deletedThing As Thing) Implements Iinterface.ThingWasDeleted
If MyThing Is deletedThing Then
MyThing = Nothing
End If
End Sub
...但偶尔会有所不同:
Public Sub ThingWasDeleted(ByVal deletedThing As Thing) Implements IInterface.ThingWasDeleted
'Do nothing
End Sub
在每个类中都是相同的,但已经像调用一个常用的辅助方法一样简单:
Public ReadOnly Property DisplayName() As String Implements IInterface.DisplayName
Get
Return DisplayNameShared
End Get
End Property