Il problema è molto semplice, ho un "archivio" di classe, voglio caricare la sua "StockName" proprietà ", codice interno' dal db.Come inizializzare una classe?
così che Patten dovrei usare?
modello 1) Utilizzare classe di servizio per crearlo
public interface IStockService{
Stock GetStock(string stockCode);
void SaveStock(Stock stock);
}
public class StockService : IStockService{
}
IStockService stockService = new StockService();
Stock stock = stockService.GetStock();
modello 2) Utilizzare metodo statico in magazzino
public class Stock{
public static Stock GetStock(){
Stock stock = new Stock;
//load stock from db and do mapping.
return stock;
}
public void Save(){
}
}
modello 3) Utilizzare costruttore per caricare
public class Stock{
public Stock(){
//load stock from db and do mapping.
this.stockName = ...
this.stockCode = ...
}
}
testo 1: sembra che usare tanti codice per creare un oggetto stock, e il metodo "SaveStock" sembra un po 'non oggetto-oriente.
per il modello 2: il metodo "Salva" sembra ok, ma il metodo GetStock è un metodo statico, sembra una classe di utilità che utilizza sempre il metodo statico.
per il modello 3: il costruttore caricherà i dati da db quando si inizializza. sembra anche confuso.
Che lingua è? –
C# o java, possono essere entrambi – Graviton