MVC實用架構設計(〇)——總體設計

來源:互聯網
上載者:User
系列導航
  1. MVC實用架構設計(〇)——總體設計
  2. MVC實用架構設計(一)——項目結構搭建
  3. MVC實用架構設計(二)——使用MEF實用IOC
  4. MVC實用架構設計(三)——EF-Code First(1):Repository,UnitOfWork,DbContext
  5. MVC實用架構設計(三)——EF-Code First(2):實體映射、資料移轉,重構
  6. MVC實用架構設計(三)——EF-Code First(3):使用T4模板產生相似代碼
  7. MVC實用架構設計(三)——EF-Code First(4):資料查詢
  8. MVC實用架構設計(三)——EF-Code First(5):二級緩衝
  9. MVC實體架構設計(四)——日誌記錄
  10. 未完待續。。。
〇、目錄

一、前言

二、結構圖

三、結構說明

一、前言

  一直以來都想寫這個系列,但基於各種理由(主要是懶惰),遲遲沒有動手。今天,趁著周末的空檔,終於把系列的目錄公布出來了,算是開個頭,也給自己一個堅持寫部落格的理由吧。

  這個架構是從我近期在做的一個項目中剝離出來的,這個項目由我從0開始一手搭建,在整個過程中不斷學習(在部落格園中參考了很多大牛的作品)與思考中不斷完善,項目的結構也從一個普通的類PetShop三層結構演變成了現在這樣,一切以實用為目的,所以項目的改造過程中並不太嚴格遵守傳統三層的定義,這個在下篇《項目結構搭建》及以後的系列文章中都會提及到,也會與傳統三層結構進行對比。

  寫這個系列的目的之一也是想把當前項目的架構抽象出來,以希望得到高手大牛們的指點,指出不足之處,以求發展改進。

  本系列使用的開發環境為:Windows 7 SP1、 Visual Studio 2012 (Update2)、TFS2012 (微軟TFS雲端服務)、SQL Server 2008+,並使用 Resharper 7.1 進行代碼最佳化。

二、結構圖

   

  是本構架的設計圖,縱向中間一列為架構主體部分,兩邊的小列為周邊的依賴項,如果橫向有交集,則說明主體部分對周邊存在依賴。比如GMF.Demo.Core.Data依賴於Domain Models與EntityFramework,但GMf.Demo.Site.Web與GMF.Demo.Site對Entityframework不存在依賴。同樣,Log模組也僅為GMF.Demo.Site.Web服務等等,這些在下面的結構說明中也會詳加說明。

三、結構說明
  1. Infrastructure(基礎設施層):提供系統中與業務無關的基礎設施功功能
    1. GMF.Component.Tools:工具組件,提供通用輔助操作功能,擴充方法,異常定義,日誌記錄定義與實現等功能
    2. GMF.Component.Data:資料群組件,提供與業務無關的EF資料內容,單元操作,倉儲操作,EF二級緩衝等功能的定義與實現
  2. Core (業務核心層):提供與業務實體密切相關的業務功能
    1. GMF.Demo.Core.Models:業務實體模型,定義用於系統核心業務實現的資料模型的定義
    2. GMF.Demo.Core.Data:業務資料訪問定義與實現:提供與業務相關的資料訪問功能的實體映射,資料移轉,倉儲操作的定義與實現
    3. GMF.Demo.Core:業務核心功能定義與實現:提交與用戶端(網站,案頭端,移動端)無關的商務邏輯的實現,業務核心層主要特徵如下:
      1. 此層是商務邏輯處理的核心,資料載體為業務實體
      2. 此層所有類為抽象類別,需要在相應的用戶端(網站,案頭端,移動端)進行繼承後才能被展現層調用
      3. 此層要做到用戶端(網站、案頭端、移動端)狀態(如網站的Cookie,Session等)無關性,所有用戶端特有的業務都要在相應的派生層中進行處理,轉換為狀態無關後再調用此層進行運算
      4. 對於不同用戶端(網站、案頭端、移動端)的資料,只需要轉換為業務實體即可調用此層代碼進行運算,解決相同業務在不同用戶端代碼重複的問題
  3. Application (網站應用程式層)
      1. GMF.Demo.Site.Models:網站業務視圖模型:定義用於網站業務實現的視圖模型的定義
      2. GMF.Demo.Site:網站業務實現,此項目繼承於GMF.Demo.Core,主要職能如下:
        1. 對業務執行許可權進行檢查
        2. 負責把從網站接收的業務視圖實體轉換為核心業務模型,傳給業務核心層進行業務處理
        3. 處理與Http密切相關的資料(Session、Cookie等),處理成與Http狀態無關後再交由核心層進行處理
  4. Presentation (展現層)
    1. GMF.Demo.Client.Consoles:業務控制台,可對功能程式碼片段,核心業務等功能進行調用測試。
    2. GMF.Demo.Site.Web:網站UI展現
      1. 對Action執行許可權進行檢查
      2. 接收使用者輸入並轉交給網站業務層進行處理
      3. 記錄功能操作的日誌記錄與異常日誌

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.