我很好奇聽到任何人是否有任何建議或替代模式來構建自定義對象與來自另一個對象的數據。構建一個對象 - 靜態構建器方法與構建器類與擴展方法
我們目前正在探索三種方法。
1)靜態構建方法
public class MyObject
{
public int Id { get; set; }
public string Name { get; set; }
public static MyObject Build(DataRow data)
{
MyObject newObject = new MyObject();
newObject.Id = Convert.ToInt32(data["ID"]);
newObject.Name = Convert.ToString(data["NAME"]);
return newOjbect;
}
}
2)生成器類
public class MyObject
{
public int Id { get; set; }
public string Name { get; set; }
}
public class MyObjectBuilder
{
public static MyObject Build(DataRow data)
{
MyObject newObject = new MyObject();
newObject.Id = Convert.ToInt32(data["ID"]);
newObject.Name = Convert.ToString(data["NAME"]);
return newOjbect;
}
}
3)擴展方法
public class MyObject
{
public int Id { get; set; }
public string Name { get; set; }
}
public static class MyObjectExtensions
{
public static void Build(this MyObject obj, DataRow data)
{
obj.Id = Convert.ToInt32(data["ID"]);
obj.Name = Convert.ToString(data["NAME"]);
}
}
其中一個主要考慮因素是我們需要在課堂上添加using
參考System.Data
。此時,我們猶豫直接將這種依賴關係添加到我們的MyObject
類中。
任何人都可以提供這些方法的優點或缺點,或者提供可以更好地實現可擴展性和可測試性的替代方案嗎?