Asp.Net大型項目實踐(2)-建立項目及分層(附源碼)

來源:互聯網
上載者:User
  1. 開發環境準備...
    Microsoft Visual Studio 2008
    Microsoft Visual Studio 2008 Sp1(補丁)
    Microsoft ASP.NET MVC 1.0
  2. 建立解決方案

    建立空白解決方案 HISDemo
  3. 建立解決方案檔案夾

    對於大型項目而言,模組和代碼眾多,我們可以通過“解決方案檔案夾”來對項目進行合理的管理,如:

    lib檔案夾用來存放項目中引用的第三方dll(這樣有個好處,你可以把DLL拖進去,這樣當你項目綁定VSS後,這些DLL大家就可以通過VSS擷取了)
    Presentation(展示層)用來存放UI層相關代碼
    因為項目模組眾多,我們可以按照粗粒度的模組進行劃分如Infrastructure(基礎資料設定模組),住院模組,門診挂號模組....
    註:解決方案檔案夾可以用中文,你也可以按照你的習慣和具體項目情況進行劃分,總的原則就是方便管理和查看
  4. 基本分層思想
    時間關係圖花的比較糙,有些術語也不是很規範,能理解意思就行,

    資料訪問層Repositories:主要用NHibernate訪問資料庫,但也有可能去訪問其他模組或系統的WebService,也有可能用Linq去訪問一些緩衝(記憶體中的)資料,也有可能訪問XML,文字檔等等....
    業務領域層Core:系統的核心層,所有與資料訪問無關的商務邏輯都應該內聚在這裡,業務領域對象理論上應該是充血的,內聚自己的商務邏輯。但有一些商務邏輯在設計的時候涉及到了多個業務領域對象 ,我們很難決定放在哪個具體的業務對象裡,所以我們有一個Service層來放這種商務邏輯。
    裝飾層Facade:把資料提供者,業務領域對象的商務邏輯,Service介面簡單的封裝一下成為Facade層介面供展示層UI或SOA層調用,這個層需要注意的是它只是簡單的封裝,免得UI層調太多層的介面,這層不應含有商務邏輯。
    SOA層:因為系統比較龐大 模組很多,且業務上要求各大模組間需要一定解耦,所以這一層作用是作為各大粗粒度模組間調用以及給其他系統調用,比如有基礎資料管理大模組和門診挂號大模組,他們之間的調用是必須要通過SOA層的,而不能直接走Facade層,傳輸的對象應該建立DTO資料轉送對象,而不應該直接傳遞業務領域對象,從而通過SOA層我們把各個粗粒度模組完全隔離開。這個層取名為SOA也許不大恰當,大家也不必深究...計劃是採用WCF 這樣可以靈活的配置通訊方式
    表現層Presentation:由Asp.net MVC的Action給ExtJs傳輸資料 ,Controler只需調用Facade介面
    公用類庫FrameWork:整個項目架構的公用代碼,相當於公用類庫,也許叫FrameWork不大恰當 呵呵
  5. 建立分層項目
    建立3個類庫項目

    注意修改一下項目的命名空間,如Demo.HIS.Infrastructure.Core [公司名].[項目名].[大模組名].[分層名]....在實際項目中合理的命名空間是很重要的
     
    再在Presentation檔案夾下建立2個項目Demo.HIS.MVC(項目類型:類庫)和DemoHisSite(項目類型:Asp.net MVC Web Appliction),

    最後在解決方案根目錄下建立一個類庫Demo.HIS.FrameWork作為我們的公用類庫就完成了,最後的項目結構是這樣的:
     

這樣我們整個系統所需的項目就建立完成了

源碼:HISDemo-1.rar

    相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.