2012-09-10 35 views
0

ComboBox的項目正在從某些數據庫緩存中取出等。此ComboBox已在一個程序集中使用,因此在該程序集中有關於如何加載數據的代碼。現在在第二個程序集中,我有相同的組合框,並且應該再次填充相同的項目,因此加載此組合框的項目的代碼是相同的。在這種情況下,創建一個新類還是複製粘貼方法會更好?

現在我可以將粘貼Load方法複製到我的新程序集中,也可以添加對該程序集的引用並創建該方法所在的類的實例,然後調用該方法。 (其方法在該類中不是靜態的)

您建議採用哪種方法?

回答

1

如果這兩個程序集仍在使用中(即受到以後的更改),那麼顯然import +使用同一個類。如果這種方法需要改變,你需要在兩個地方完成。這是一個維護噩夢。

如果其他程序集被「廢棄」(永遠不會再被更改),我想你可以逃脫只是複製代碼。

1

這是非常主觀的。對於其中一種方法,我只是複製粘貼,但留在瞭望臺上 - 如果以後發現要使用該程序集中的更多內容,則可能需要添加引用(並重構複製粘貼)。

4

也許你可以有一個「共享類」,其中包含可用於這兩個程序集的代碼,如果您有更多此場景的實例?

E.g. Shared.PopulateLocatons(cmbLocations)所以這個函數包含代碼來填充位置,但是可以從任何程序集調用共享庫的一部分?

沒有點複製的代碼,如果你不需要太:)

4

廣義地講,我主張DRY(不要重複自己)原則。除非有很好的理由不要,否則不要複製代碼 - 創建一個助手類或其他可以放置代碼的共享代碼設備,然後從兩個地方調用它。這樣,如果進行了更改,只需要進行一次,如果需要第三/第四/第n次使用,則不需要具有相同代碼的3/4/n個副本。

相關問題