任務17:從UML角度來理解依賴

 

 什麼是依賴數據庫

若是咱們用EF操做數據庫。架構

那麼CustomerController就對Context造成了依賴。函數

 

 

 

 咱們這種依賴的寫法就是隱式的依賴3d

 

 

 

 顯式依賴於隱式依賴blog

怎麼理解隱式的依賴呢?it

 

三層架構是比較清晰的 從BLL到DAL構造函數

當你進去一個BLL有好幾千行代碼的時候,你就崩潰了,由於你跟不知道BLL裏面有多少個外部的DAL引用。造價上Redis、log這些外部的引用。這個類就會變得很龐大,很複雜,引用

致使咱們沒有辦法去維護。甚至你都不知道這個類和其餘哪些類有關係。im

 

 

顯式依賴,像這種把全部的依賴都在構造函數內初始化數據

依賴倒置

依賴於高層業務,不依賴於低層業務的具體實現,依賴於具體的抽象

CustomerController就是一個高層的業務。

DBcontext就是一個低層業務的實現。若是如今要換成MySql的話 就須要在CustomerController裏面修改context的實例

這個時候我就要依賴於底層業務的實現。

經過Respository

當咱們不用EF的時候,CustomerContext就能夠改爲右邊的MemoryCustomerRespository替換掉當前的EF

相關文章
相關標籤/搜索