如何组织vb.net代码?

时间:2015-03-21 12:37:37

标签: c# vb.net

我不想在一个类中编写我的所有代码,我可以在别处编写一个sub并从我的主类中调用它吗?

例如我有这个代码调用我在主类末尾写的一个navigateRecord Sub:

Private Sub btnNext_Click(sender As System.Object, e As System.EventArgs) Handles btnNext.Click
    If inc <> maxrows - 1 Then
        inc = inc + 1
        NavigateRecords()
    Else
        MsgBox("No More Rows")
    End If


End Sub

在课程结束时,我写了一下:

Private Sub NavigateRecords()

    txtStdId.Text = ds.Tables("db1").Rows(inc).Item(0)
    txtStdName.Text = ds.Tables("db1").Rows(inc).Item(1)
    txtStdLname.Text = ds.Tables("db1").Rows(inc).Item(2)
    txtStdAdress.Text = ds.Tables("db1").Rows(inc).Item(3)


End Sub 

我可以在其他地方编写导航记录子,并从主类中调用它吗?并且谢谢你

1 个答案:

答案 0 :(得分:2)

查找OOPDRYSOLIDKISS

使用继承使代码可重用,封装,多态和简单,抽象是良好的计算机编程的承租人。

一个很好的例子是名为DateDiff的VB函数。您可以将其传递给日期以及您希望返回的间隔(小时,天,月,年)。

想象一下,如果您必须编写代码来确定代码所有部分中日期之间的差异,那么它将是过程式编程。我们都讨厌这个。最好制作一个函数,你可以从各种编码实现和目的中“抽象地”调用它,并以封装的方式重用。它是成为优秀程序员的关键之一。

如果您有一个名为PeopleRecord的类,其中包含4个字段:

Public Class PeopleRecord
Public Id as string 'Better to use an Integer
Public StdName as string
Public StdLname as string
Public StdAdress as string
End Class

然后在你的winform中使用BindingSource控件绑定到PeopleRecord类。

在“设计时”中,将每个TextBox控件设置为绑定到BindingSource中的字段。然后在PeopleRecord类中执行所有导航逻辑。

最大的好处是分离关注点并能够对逻辑进行单元测试,如果所有逻辑都嵌入在表示层(而不是in a control free Business Logic Library project)中,这很难做到。