2013-11-04 50 views
4

Q:`可以模擬類包含方法和構造」 [最佳做法]可以模擬類包含方法和構造

我有一個僱員模型類由員工的姓名,年齡,薪水等...

public class Employee 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 
    public int Salary { get; set; } 
} 

所以上述Model Class包含一些自我更新方法[像一個計時器什麼更新員工的年齡,每隔1小時]和\或構造或者最好是牛逼處理執行者的所有事情?

回答

4

模型應該包含與模型相關的所有邏輯(這是DSL),因此,它可以每小時更新一次。當你定義自動屬性時,它與定義setter和getter相同,所以當然你可以添加方法和構造函數。

0

這一切都取決於如何使用類。

語言中沒有任何東西不允許它。但取決於你使用的是什麼框架,以及如何使用代碼中的類來放置不同的功能塊。

對於任何情況都沒有最好的答案。

5

爲什麼他們不能?真正的答案是:這取決於你的用例。模式,例如模型類,是建議,常見的做事方式,而不是牢不可破的教條。

注意:「用計時器或其他方法每1小時更新一次員工的年齡」這個例子根本上是錯誤的。存儲年齡從根本上說是錯誤的,除非你在某個時刻儲存了一個快樂工作室。更好的解決方案是存儲出生日期,並計算年齡。例如,通過僅使用getter來定義Age屬性。