yi.*_*yi. 6 c# initialization class
问题很简单,我有一个类"Stock",我想从db加载它的属性"StockName","StockCode".
我应该使用哪种模式?
模式1)使用服务类来创建它
public interface IStockService{
Stock GetStock(string stockCode);
void SaveStock(Stock stock);
}
public class StockService : IStockService{
}
IStockService stockService = new StockService();
Stock stock = stockService.GetStock();
Run Code Online (Sandbox Code Playgroud)
模式2)在库存中使用静态方法
public class Stock{
public static Stock GetStock(){
Stock stock = new Stock;
//load stock from db and do mapping.
return stock;
}
public void Save(){
}
}
Run Code Online (Sandbox Code Playgroud)
模式3)使用构造函数加载
public class Stock{
public Stock(){
//load stock from db and do mapping.
this.stockName = ...
this.stockCode = ...
}
}
Run Code Online (Sandbox Code Playgroud)
对于模式1:它似乎使用如此多的代码来创建一个股票对象,而"SaveStock"方法似乎有点不是面向对象的.
对于模式2:"保存"方法似乎没问题,但GetStock方法是一个静态方法,它似乎是一个总是使用静态方法的Utility类.
对于模式3:构造函数将在初始化时从db加载数据.它似乎也很困惑.