自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MVC實(shí)用架構(gòu)設(shè)計(jì):總體設(shè)計(jì)

開(kāi)發(fā) 架構(gòu)
一直以來(lái)都想寫(xiě)這個(gè)系列,但基于各種理由(主要是懶惰),遲遲沒(méi)有動(dòng)手。今天,趁著周末的空檔,終于把系列的目錄公布出來(lái)了,算是開(kāi)個(gè)頭,也給自己一個(gè)堅(jiān)持寫(xiě)博客的理由吧。

一、前言

一直以來(lái)都想寫(xiě)這個(gè)系列,但基于各種理由(主要是懶惰),遲遲沒(méi)有動(dòng)手。今天,趁著周末的空檔,終于把系列的目錄公布出來(lái)了,算是開(kāi)個(gè)頭,也給自己一個(gè)堅(jiān)持寫(xiě)博客的理由吧。

這個(gè)架構(gòu)是從我近期在做的一個(gè)項(xiàng)目中剝離出來(lái)的,這個(gè)項(xiàng)目由我從0開(kāi)始一手搭建,在整個(gè)過(guò)程中不斷學(xué)習(xí)(在博客園中參考了很多大牛的作品)與思考中不斷完善,項(xiàng)目的結(jié)構(gòu)也從一個(gè)普通的類(lèi)PetShop三層結(jié)構(gòu)演變成了現(xiàn)在這樣,一切以實(shí)用為目的,所以項(xiàng)目的改造過(guò)程中并不太嚴(yán)格遵守傳統(tǒng)三層的定義,這個(gè)在下篇《項(xiàng)目結(jié)構(gòu)搭建》及以后的系列文章中都會(huì)提及到,也會(huì)與傳統(tǒng)三層結(jié)構(gòu)進(jìn)行對(duì)比。

寫(xiě)這個(gè)系列的目的之一也是想把當(dāng)前項(xiàng)目的架構(gòu)抽象出來(lái),以希望得到高手大牛們的指點(diǎn),指出不足之處,以求發(fā)展改進(jìn)。

本系列使用的開(kāi)發(fā)環(huán)境為:Windows 7 SP1、 Visual Studio 2012 (Update2)、TFS2012 (微軟TFS云服務(wù))、SQL Server 2008+,并使用 Resharper 7.1 進(jìn)行代碼優(yōu)化。

二、結(jié)構(gòu)圖

   

上圖是本構(gòu)架的設(shè)計(jì)圖,縱向中間一列為架構(gòu)主體部分,兩邊的小列為周邊的依賴項(xiàng),如果橫向有交集,則說(shuō)明主體部分對(duì)周邊存在依賴。比如 GMF.Demo.Core.Data依賴于Domain Models與EntityFramework,但GMf.Demo.Site.Web與GMF.Demo.Site對(duì)Entityframework不存在依賴。同樣,Log模塊也僅為GMF.Demo.Site.Web服務(wù)等等,這些在下面的結(jié)構(gòu)說(shuō)明中也會(huì)詳加說(shuō)明。

三、結(jié)構(gòu)說(shuō)明

  1. Infrastructure(基礎(chǔ)設(shè)施層):提供系統(tǒng)中與業(yè)務(wù)無(wú)關(guān)的基礎(chǔ)設(shè)施功功能
    1. GMF.Component.Tools:工具組件,提供通用輔助操作功能,擴(kuò)展方法,異常定義,日志記錄定義與實(shí)現(xiàn)等功能
    2. GMF.Component.Data:數(shù)據(jù)組件,提供與業(yè)務(wù)無(wú)關(guān)的EF數(shù)據(jù)上下文,單元操作,倉(cāng)儲(chǔ)操作,EF二級(jí)緩存等功能的定義與實(shí)現(xiàn)
  2. Core (業(yè)務(wù)核心層):提供與業(yè)務(wù)實(shí)體密切相關(guān)的業(yè)務(wù)功能
    1. GMF.Demo.Core.Models:業(yè)務(wù)實(shí)體模型,定義用于系統(tǒng)核心業(yè)務(wù)實(shí)現(xiàn)的數(shù)據(jù)模型的定義
    2. GMF.Demo.Core.Data:業(yè)務(wù)數(shù)據(jù)訪問(wèn)定義與實(shí)現(xiàn):提供與業(yè)務(wù)相關(guān)的數(shù)據(jù)訪問(wèn)功能的實(shí)體映射,數(shù)據(jù)遷移,倉(cāng)儲(chǔ)操作的定義與實(shí)現(xiàn)
    3. GMF.Demo.Core:業(yè)務(wù)核心功能定義與實(shí)現(xiàn):提交與客戶端(網(wǎng)站,桌面端,移動(dòng)端)無(wú)關(guān)的業(yè)務(wù)邏輯的實(shí)現(xiàn),業(yè)務(wù)核心層主要特征如下:
      1. 此層是業(yè)務(wù)邏輯處理的核心,數(shù)據(jù)載體為業(yè)務(wù)實(shí)體
      2. 此層所有類(lèi)為抽象類(lèi),需要在相應(yīng)的客戶端(網(wǎng)站,桌面端,移動(dòng)端)進(jìn)行繼承后才能被展現(xiàn)層調(diào)用
      3. 此層要做到客戶端(網(wǎng)站、桌面端、移動(dòng)端)狀態(tài)(如網(wǎng)站的Cookie,Session等)無(wú)關(guān)性,所有客戶端特有的業(yè)務(wù)都要在相應(yīng)的派生層中進(jìn)行處理,轉(zhuǎn)換為狀態(tài)無(wú)關(guān)后再調(diào)用此層進(jìn)行運(yùn)算
      4. 對(duì)于不同客戶端(網(wǎng)站、桌面端、移動(dòng)端)的數(shù)據(jù),只需要轉(zhuǎn)換為業(yè)務(wù)實(shí)體即可調(diào)用此層代碼進(jìn)行運(yùn)算,解決相同業(yè)務(wù)在不同客戶端代碼重復(fù)的問(wèn)題
  3. Application (站點(diǎn)應(yīng)用層)
      1. GMF.Demo.Site.Models:網(wǎng)站業(yè)務(wù)視圖模型:定義用于網(wǎng)站業(yè)務(wù)實(shí)現(xiàn)的視圖模型的定義
      2. GMF.Demo.Site:網(wǎng)站業(yè)務(wù)實(shí)現(xiàn),此項(xiàng)目繼承于GMF.Demo.Core,主要職能如下:
        1. 對(duì)業(yè)務(wù)執(zhí)行權(quán)限進(jìn)行檢查
        2. 負(fù)責(zé)把從網(wǎng)站接收的業(yè)務(wù)視圖實(shí)體轉(zhuǎn)換為核心業(yè)務(wù)模型,傳給業(yè)務(wù)核心層進(jìn)行業(yè)務(wù)處理
        3. 處理與Http密切相關(guān)的數(shù)據(jù)(Session、Cookie等),處理成與Http狀態(tài)無(wú)關(guān)后再交由核心層進(jìn)行處理
  4. Presentation (展現(xiàn)層)
    1. GMF.Demo.Client.Consoles:業(yè)務(wù)控制臺(tái),可對(duì)功能代碼段,核心業(yè)務(wù)等功能進(jìn)行調(diào)用測(cè)試。
    2. GMF.Demo.Site.Web:網(wǎng)站UI展現(xiàn)
      1. 對(duì)Action執(zhí)行權(quán)限進(jìn)行檢查
      2. 接收用戶輸入并轉(zhuǎn)交給站點(diǎn)業(yè)務(wù)層進(jìn)行處理
      3. 記錄功能操作的日志記錄與異常日志

原文鏈接:http://www.cnblogs.com/guomingfeng/archive/2013/05/19/mvc-overall-design.html

責(zé)任編輯:林師授 來(lái)源: 博客園
相關(guān)推薦

2012-03-31 10:01:40

ASP.NET MVC

2021-08-03 23:02:10

數(shù)字化轉(zhuǎn)型經(jīng)營(yíng)IT

2013-09-02 17:53:41

MVC架構(gòu)設(shè)計(jì)MEF

2015-10-29 10:50:46

Android架構(gòu)設(shè)計(jì)原則

2013-05-27 10:58:28

Tumblr架構(gòu)設(shè)計(jì)雅虎收購(gòu)

2023-04-11 07:50:27

軟件架構(gòu)設(shè)計(jì)

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構(gòu)

2024-04-17 08:03:45

架構(gòu)設(shè)計(jì)Java

2011-06-01 10:59:56

2015-06-02 04:34:05

架構(gòu)設(shè)計(jì)

2015-06-02 04:17:44

架構(gòu)設(shè)計(jì)審架構(gòu)設(shè)計(jì)說(shuō)明書(shū)

2025-04-15 04:00:00

2012-09-19 13:46:37

存儲(chǔ)存儲(chǔ)設(shè)計(jì)快速表態(tài)

2012-06-07 10:45:12

軟件架構(gòu)設(shè)計(jì)原則

2019-11-25 10:58:19

Tomcat架構(gòu)Web

2021-10-28 06:17:46

架構(gòu)設(shè)計(jì)組件

2009-02-01 10:17:19

Java架構(gòu)設(shè)計(jì)設(shè)計(jì)模式

2023-05-12 08:06:46

Kubernetes多云架構(gòu)

2016-02-18 10:09:23

12306核心思路架構(gòu)

2009-07-10 09:31:57

MyEclipse U
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)