要澄清一下,这些东西,屏幕和字段,是我无法控制的真实世界(至少在计算机内是真实的)。屏幕是古代COBOL程序中包含的数据视图,字段位于屏幕上数据所在的位置。
我正在构建的目的是取代与这些屏幕和字段交互的低级和程序方法。您可能会认为这些对象与数据库中的表和列类似。现在我必须编写很多“管道”,比如更新特定屏幕上的一个字段,我必须复制该代码才能使用不同的字段。我想要的是一个代码库,它允许我简单地在一个对象上设置一个属性,以便更新一个字段,例如MyScreen.MyField.Value = <new value>
。
我正在构建一个包装类的集合,这些类表示我认为在组合方面最能理解的对象,而不是关联。简而言之,我有一个screen
对象,需要包含n个field
个对象。这些字段由它们声明的屏幕所有,并且不应该在屏幕上存在,但必须可以从屏幕外部访问。
Private Class MyScreen
Inherits Screen
Private _myField As Field
Public ReadOnly Property MyField() As Field
Get
Return _myField
End Get
End Property
Public Sub New()
MyBase.New()
_myField = New Field()
End Sub
End Class
然而,鉴于我可以轻易做到这一点,上述内容似乎过于冗长:
Private Class MyScreen
Inherits Screen
Public Readonly MyField As Field
Public Sub New()
MyBase.New()
MyField = New Field()
End Sub
End Class
一个或另一个是更好的选择吗?有没有第三种选择,我没有看到?
答案 0 :(得分:0)
为什么不使用构图而不是
您可以创建一个可以在每个屏幕上实例化的ScreenWorker
类。这个ScreenWorker
类允许你从Screen
类设置参数,允许你重用代码来执行grunt工作,具体取决于你传递给它的参数?