2017-01-25 5 views
0

私は非常に一般的な私に打撃を与える何かをしようとしていますが、私はそれを実装する良い方法でと苦労しています。"定数オブジェクト"を実装する正しい方法は何ですか?

次のように私は、「タグ」クラスを作成している:それは私には理にかなっているように、

Public Class Tag 
    Public Name As String 
    Private Server As Server 
    ... 
End Class 

タグは、実行時に作成されます。

Public Class Server 
    Public Name As String 
    Public Location As Location (<- An Enum) 
    ... 
End Class 

サーバは、実行時の前に知られており、そして、決して変わらないように移動しないで、そして決して: はしかし、これらのタグは次のように定義され、サーバーに保存されています。

今、私は任意のオブジェクトのように、プログラムの最初にそれらを作成し、変数に格納します:

Dim Server1 As New Server 
Server1.Name = "Server1" 
Server1.Location = "Somewhere" 

Dim Server2 As New Server 
.... 

私はそれはあなたがこれを行う必要がある方法ではないことを感じるが、私が持っています正しい方法は何かについての手掛かりではありません。

要約すると、私は「定数オブジェクト」を持っています。これは、コーディング時にプロパティがわかっているオブジェクトを意味し、実行時に決して変更されません。これらのオブジェクトを実行時に他のオブジェクトにアクセスできるようにする最良の方法は何ですか?

おかげであなたの助けのためにたくさん

答えて

1

これら定数オブジェクトは通常不変オブジェクトと呼ばれています。

.NETでは、不変オブジェクトを取得する最も簡単なパスは、コンストラクタと読み取り専用プロパティを使用してクラスを設計することです。

' An immutable object 
Public Class Server 
    Public Sub New(name As String) 
     Name = name 
    End Sub 

    Public ReadOnly Property Name() As String 
End Class 
関連する問題