上次實現(xiàn)了依賴注入,但是web項目必須要引用業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層的實現(xiàn),項目解耦并不完全;另一方面,要同時注入業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,注入的服務(wù)直接寫在Startup中顯得非常臃腫。理想的方式是,web項目近引用接口而不引用實現(xiàn),在配置文件中進行配置實現(xiàn)程序集合類,注入業(yè)務(wù)邏輯層而不必注入數(shù)據(jù)訪問層。

一、數(shù)據(jù)訪問層

在項目中摒棄數(shù)據(jù)訪問層或者使用EntityFramework作為數(shù)據(jù)訪問層。

在項目中數(shù)據(jù)訪問層主要實現(xiàn)數(shù)據(jù)的存儲,仔細看一下EntityFramework發(fā)現(xiàn)DbContext的功能完全實現(xiàn)了查、增、刪、改等各種操作,并且有緩存等功能,本身就實現(xiàn)了倉儲模式,并且比自己封裝的數(shù)據(jù)存儲層的功能還強大,干脆在項目中用EntityFramework作為數(shù)據(jù)存儲層。刪除掉Ninesky.InterfaceDataLibrary項目和Ninesky.DataLibrary項目。

注:項目結(jié)構(gòu)調(diào)整的確實太頻繁了,以后一段時間內(nèi)絕不再調(diào)整了。

二、實現(xiàn)業(yè)務(wù)邏輯層。

添加業(yè)務(wù)邏輯層接口項目Ninesky.InterfaceBase

1、添加接口基類接口InterfaceBaseService,添加基本的查、增、刪、改方法

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),手機維修培訓(xùn),手機軟件培訓(xùn) Vi