1
以前曾詢問過這種情況的道歉。我無法找到類似的問題或帖子。BLL中的數據合同和模型的依賴注入
我有一個統一的DI框架的解決方案。
我已經非常最近試圖理解TDD和DI的概念。希望這個應該成爲最後一個問題,然後才能真正將應用移植到我的實際應用中。
我明白通過構造函數注入依賴關係的概念,這是我的BLL看起來像現在:
的BLL類調用CarService,有一個方法GetCarDetails:
class CarService
{
IRepository repository;
CarService(IRepository repository)
{
this.repository = repository;
}
CarResponse GetCarDetails(CarRequest request)
{
CarResponse carResponse = new CarResponse();
CarModel car = this.repository.SelectCarById(request.CarId);
if(car!=null)
{
carResponse.Make = car.Make;
carResponse.Reg = car.Reg;
}
return carResponse;
}
}
使用this question中的組合根(CR)建議我正在使用我的WebAPi項目作爲CR項目。我希望我的所有項目將只在CR稱爲在這個問題建議和here
如何以往在上面的示例代碼,我需要有一個參考我的DataContracts和示範項目CarService做:
CarResponse carResponse = new CarResponse();
CarModel car = this.repository.SelectCarById(request.CarId);
並接受CarRequest作爲方法參數。
那是好做嗎? (這將意味着DataContracts和示範項目不受CR,但也CarService只是參考)
還是應該這也通過某種DI技術來解決。如果是這樣,怎麼樣?