構建項目解決方案 創建EF DataBase Frist模式
進行本次文章之前,我們可能需要補充一些基本知識。
首先我們系統是基於接口編程的,我們為什麼要使用借口編程,其實這是應用了一種企業應用架構模式
Repository(倉儲)
一種用來封裝存儲,讀取和查找行為的機制,它模擬了一個對象集合。
支持在領域和數據映射層之間實現徹底分離和單向依賴關系的目標。
接口編程
最主要的目的是使關注點分離,讓開發人員各司其職
代碼封存保密,分包開發,無需要給予邏輯結構代碼,只需要給予接口文件
缺點:設計困難,比傳統的三層,單類模式困難,但是接口程序員工資都很高!
AOP(面向方面編程)
我們為了彌補面向對象缺陷,我們系統將引入面向方面編程
主要用於日志記錄,事務處理,異常處理等等。
概念這種東西過於模糊,我們必須經歷過一個大系統才能認識這些概念模型。我無法用文章來下詳細解析此系統的深層概念,需要大家在日常工作中實踐和意會,推薦一本.net的設計書籍《Microsoft .NET企業級應用架構設計》這本書詳細的講述了接口編程,面向方面編程
通過上面我們需要構建項目的解決方案。
雖然MVC的controller層包含了邏輯,但是對於一個大系統,我們不可能把業務和數據庫底層包含在一起,雖然提供了Models模型文件夾,在第二講我把他刪除了,我們將這一層Model層提取出來,任何層的設計都好,都是從三層設計模式衍生出來的,本系統也不例外。我們是基於接口編程的倉儲模式,所以我們必須有BLL,IBLL,DAL,IDAL的對應類庫。
好,現在我們右鍵我們的解決方案吧。分別建立
App.BLL (業務層)
App.IBLL (業務層接口)
App.DAL (數據層)
App.IDAL (數據層接口)
App.Models (模型)
App.Common(通用類庫)
App.Core (核心類庫)
圖:
添加:EF5.0 VS2012旗艦版默認已經集成安裝了EF5.0我們把他存放到App.Models類庫下
右鍵----添加新建項