1 回答

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
這方面沒(méi)有“建議”。如果您已閱讀建議,請(qǐng)?jiān)俅伍喿x,這很可能只是一個(gè)練習(xí)。它給了你一個(gè)想法,但在實(shí)際項(xiàng)目中使用這個(gè)想法取決于你。有時(shí),這些練習(xí)展示了相反的方法。有時(shí),存儲(chǔ)庫(kù)所有者會(huì)規(guī)定違反您之前閱讀過(guò)的任何規(guī)則的樣式,這完全沒(méi)問(wèn)題。
這是我認(rèn)為有助于嘗試的另一個(gè)實(shí)例化練習(xí):永遠(yuǎn)不要實(shí)例化除值對(duì)象之外的任何內(nèi)容。將實(shí)例化委托給容器。避免單例模式,但將您的服務(wù)注冊(cè)為容器中的單例。通過(guò)這種方式,您的代碼將如下所示:
public sealed class AvayaService
{
private readonly IRepository _repository;
public AvayaService(IRepository repository)
{
if(repository == null)
throw new ArgumentNullException();
_repository = repository;
}
public static Response GetResponse(Request request)
{
// use _repository
}
}
- 1 回答
- 0 關(guān)注
- 343 瀏覽
添加回答
舉報(bào)