我想知道它是否瘋狂(幾乎)總是在C#中使用自定義數據類型,而不是依賴於內置類型如System.Int32和System.String。總是使用自定義數據類型
例如,要表示一個人的名字,其思想是使用名爲PersonFirstName而不是System.String的數據類型(當然,PersonFirstName數據類型必須包含System.String)。另一個例子是擁有一個PersonID類,它代表該人員的數據庫標識符,而不是擁有System.Int32。
會有一些好處在這裏:
今天,如果一個函數有一個int參數,它很容易在公司的對象,而不是一個Person對象的ID的ID來傳遞,因爲兩者都是int類型。如果函數使用了CompanyID,那麼如果我嘗試傳入PersonID,則會出現編譯錯誤。
如果我想將數據庫列數據類型從int更改爲person的uniqueidentifier,那麼我只需要在PersonID類中進行更改。今天,我將不得不在所有需要一個Int並且應該代表一家公司的地方進行更改。
在正確的位置實施驗證可能會更容易。 「」可能永遠不會是PersonFirstName可以照顧的正確的名字。
是的,我將不得不寫更多的構造函數。我可以在這些實現隱式重載,使他們很容易處理。
這是瘋了嗎?
你說的是創建對象來描述您的問題eleemnts域?對這個問題有點困惑 – 2009-11-10 13:51:24
我在說自定義類來描述我在軟件中使用的* all *變量,而不是僅僅爲了主o域中的對象。不僅僅是Car-class和Person-class,還要創建CarID類,它代表汽車的ID,代表板的CarPlate類,代表顏色的CarColor類等等。 – Martin 2009-11-10 13:53:58
好主意,因爲它可以防止您意外地爲項目數分配一個郵政編碼,或者這樣的郵政編碼 – 2009-11-10 14:23:24