我知道当你有一个只能在一个地方使用的类对象时,这是糟糕的编程和架构。但是我也被警告过要创建一个功能强大且可以做太多事情的对象。那么我该如何分解呢?这是我的意思的一个例子——请不要把这些东西从字面上理解,因为这只是一个例子。
无论如何,我有一个我正在使用的对象,它相当复杂。很多信息都存储在这个对象中,它可以对数据执行很多操作。所以,我们称这个物体为地球。
Public Class Planet
Private _population As UInteger = 0
Public ReadOnly Property Population() As UInteger
Get
Return _population
End Get
End Property
Public Overridable Sub CreatePerson(Optional ByVal numberOfPeople As Integer = 1)
_population += numberOfPeople
End Sub
End Class
到目前为止很简单。但我可以继续处理对象可能执行的许多事情。因此,为了避免事情变得过于复杂,我通过创建另外两个对象来分解白天和晚上发生的“活动”:白天和黑夜(这两个未显示)。所以现在我有一个更新的 Planet 课程。
Public Class Planet
Private _population As UInteger = 0
Private _day As New Day
Private _night As New Night
Public ReadOnly Property Day() As Day
Get
Return _day
End Get
End Property
Public ReadOnly Property Night() As Night
Get
Return _night
End Get
End Property
Public ReadOnly Property Population() As UInteger
Get
Return _population
End Get
End Property
Public Overridable Sub CreatePerson(Optional ByVal numberOfPeople As Integer = 1)
_population += numberOfPeople
End Sub
End Class
现在,这两个类 - Day 和 Night - 将永远不会在 Planet 类之外使用。这是为这个“父”类Planet组织我的方法和属性的好方法吗?我还能如何整齐地组织类似的东西?
我读过关于重构的文章,但我认为这对我的情况没有帮助。我喜欢我可以像这样调用 Planet 对象的想法:Earth.Night.BlowUpMoon
.