我從網上看我這點,這表示接口用於此存儲庫模式 - 爲什麼我們需要接口?
- 使用TDD方法
- 更換持久性引擎
但我無法理解如何界面有用到這個點Replace persistance engine
。 讓我們考慮我創造EmployeeRepository
public class EmployeeRepository
{
public employee[] GetAll()
{
//here I'll return from dbContext or ObjectContex class
}
}
一個基本的(不使用泛型)資源庫,如何界面進入圖片?
如果我想創建一個接口,爲什麼使用upcasting?例如
IEmployee emp = new EmployeeRepository() ;
vs
EmployeeRepository emp = new EmployeeRepository();
請詳細解釋我,以及接口在存儲庫模式方面的其他有用性。
奇妙的答案,每個解釋都值得..現在我知道它是如何工作的..謝謝你,我不能將這個答案標記爲接受,因爲我的分數低於15,只要我賺取我會接受這個答案。 – Meson
感謝那篇文章..並假設如果我配置'EmployeeRepositoryEF'在我的依賴注入框架中,我的控制器將消耗此'EmployeeRepositoryEF',但是如果我想要在同一控制器中使用2實現..如果這個問題愚蠢im非常抱歉.. – Meson
在示例I提供程序中,控制器在其構造函數中需要一個'IEmployeeRepository'實例。只有一個實現可以通過。另一方面,你可能有另一個控制器可能需要不同的接口實現。這完全有可能。您只需配置您的DI框架,以便將ControllerA和ControllerB中的ImplementationB注入到ControllerA中。不同的DI框架之間的語法當然會有所不同。 –