我有一個叫做DataStructures
的類,其中我有一組存儲對象的public static
數據結構。將對象添加到數據結構是一個涉及的過程,需要執行一些檢查,要記住的過程以及要重新排列的數據。在另一個名爲Foo
的類中,我需要將對象添加到數據結構中。 我在想我可以通過使用一個名爲ObjectFeed
的方法來實現這一點,該方法將一個對象和對象的標籤作爲參數。該標籤會告訴方法應將哪個數據結構添加到該對象中。我也有一個名爲addObject
方法,它要爲對象追加和適當的目標數據結構作爲參數:發送對象的設計將被添加到適當的數據結構
Public Class DataStructures
{
public static List<obj> object1Storage = new List<obj>();
public static List<obj> object2Storage = new List<obj>();
...
}
Public Class Foo
{
public void ObjectFeed(/* PARAMETERS */)
{
//Code that generates an object called inspectionObject
//inspection object has an associated enum Type
if(objectType == Type.Type1)
{
addObject(inspectionObject, DataStructures.object1Storage);
}
if(objectType == Type.Type2)
{
addObject(inspectionObject, DataStructures.object2Storage);
}
...
}
private void addObject(obj inspectionObject, List<obj> objStorage)
{
objStorage.Add(inspectionObject);
//And a lot more code
}
}
傳遞一個公共數據結構作爲參數,可以只以及訪問數據的方法結構直接感覺不正確。有沒有更聰明,更直觀的方式來做到這一點?
編輯:
在這個例子中我原先做作,所述ObjectFeed方法送達沒有明顯的目的。我重寫了這個方法,使它看起來更像是一個來自現實世界的方法。