我正在構建一個MVC應用程序,它比我通常做的要複雜一點,我想嘗試一個新的類結構。基本上這些閱讀很多。只有5-10%的操作將針對數據庫進行插入/更新。這個類的結構方法是正確的還是可用的? (MVC/C#)
因此,我正在考慮創建將從數據庫層返回的基類DTO類。然後,業務對象將繼承DTO類,以擴展具有所有驗證和業務規則的基本結構。
例子:
namespace Project.DTO
{
public class Employee
{
public string Name;
public string Surname;
...
}
}
namespace Project
{
public class Employee : Project.DTO.Employee
{
public bool IsValid()
{
...
}
}
}
這是一個好辦法?我還沒有想到的是如何在MVC內部使用它們,因爲「正確」的方式是實現模型類。我相信我可以創建從DTO對象繼承的模型類......但我不確定。
我還需要一種方法來處理所有具有某種接口的驗證函數,以避免在GUI上重複使用很多通用代碼。
在此先感謝!
Intreseting,我正面臨類似的問題。您的回覆幫助了我很多 – vondip 2011-03-18 14:19:26
界面選項是我過去所做的,並且運行良好。但是對於鬆散耦合,Business類將至少具有DTO對象的相同屬性,所以通過定義所有字段兩次,我相信您將走上漫長的道路。 – DaniH 2011-03-18 14:23:26
@DaniH:這不一定是因爲業務類具有DTO的所有屬性。您可能會很好地爲某些用途使用較少的屬性的業務類,或者甚至可能有一個DTO分爲幾個不同的業務類的情況。 – 2011-03-18 14:31:40