UI層 業務層,業務層依賴數據層
依賴倒置後
UI層依賴業務接口, 業務層依賴數據接口
^ ^
| |
業務層實現 數據層實現
如果我們使用接口先把dal能幹什麼進行定義,然後各個具本的DAL來實現這個接口,那麼調用方就只依賴這個接口了.大家都經這個接口爲標準,具體的實現細節就被隱起來了.
那麼不管DAL的具體實現如何.調用方只要這樣用,如:
dalInterface dal=DALFactory.getdal("XXX");
dal.doSomething()
接口是解決依賴的DIP
接口被置頂,各層之間的依賴脫勾.不再層層依賴.
工業上用的系統穩定性排第一,可擴展性排第二,性能排第三
依賴倒置後
UI層依賴業務接口, 業務層依賴數據接口
^ ^
| |
業務層實現 數據層實現
如果我們使用接口先把dal能幹什麼進行定義,然後各個具本的DAL來實現這個接口,那麼調用方就只依賴這個接口了.大家都經這個接口爲標準,具體的實現細節就被隱起來了.
那麼不管DAL的具體實現如何.調用方只要這樣用,如:
dalInterface dal=DALFactory.getdal("XXX");
dal.doSomething()
接口是解決依賴的DIP
接口被置頂,各層之間的依賴脫勾.不再層層依賴.
工業上用的系統穩定性排第一,可擴展性排第二,性能排第三