四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

Microsoft NLayerApp案例理論與實(shí)踐 - 項(xiàng)目簡(jiǎn)介與環(huán)境搭建

  項(xiàng)目簡(jiǎn)介

  Microsoft – Spain團(tuán)隊(duì)有一個(gè)很不錯(cuò)的面向領(lǐng)域多層分布式項(xiàng)目案例:Microsoft – Domain Oriented N-Layered .NET 4.0 App Sample(在本系列文章中,我使用NLayerApp作為該項(xiàng)目的名稱進(jìn)行介紹),在codeplex上的地址是:http://microsoftnlayerapp.codeplex.com/。

  它是學(xué)習(xí)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)的一個(gè)非常不錯(cuò)的案例項(xiàng)目。該項(xiàng)目采用的是經(jīng)典的DDD架構(gòu),而不是CQRS架構(gòu),但我覺得整個(gè)案例做的非常不錯(cuò),基本上包含了基于DDD的架構(gòu)實(shí)踐的各個(gè)方面。因此,應(yīng)不少社區(qū)朋友的要求,我打算花一部分精力來寫一個(gè)介紹該項(xiàng)目理論與實(shí)踐的系列文章。這部分系列文章將分為兩個(gè)部分:

  1. 原理部分:這部分介紹Microsoft NLayerApp的一些理論依據(jù),包括架構(gòu)設(shè)計(jì)原則、分層架構(gòu)、DDD、Distributed DDD、面向?qū)ο蠓治雠c設(shè)計(jì)等。事實(shí)上,microsoftnlayerapp.codeplex.com站點(diǎn)上已經(jīng)有一些文檔對(duì)這部分內(nèi)容作了介紹,因此,原理部分的內(nèi)容我將基本上是對(duì)這些英文文檔進(jìn)行翻譯整理,然后再添加一些自己的注釋,這樣做的好處是,能夠就整個(gè)企業(yè)級(jí)項(xiàng)目的開發(fā)與設(shè)計(jì)為讀者提供一套相對(duì)系統(tǒng)全面的學(xué)習(xí)材料。NLayerApp的官方站點(diǎn)本身也在做西班牙語到英語的翻譯工作,所以這部分英文文檔也并不全面,我會(huì)在新英文版文檔發(fā)布后,在此相應(yīng)地添加所缺失的部分
  2. 實(shí)踐部分:這部分將對(duì)整個(gè)NLayerApp Solution的結(jié)構(gòu)、各個(gè)邏輯層、各種用到的技術(shù)進(jìn)行剖析和介紹。與原理部分不同,此部分內(nèi)容更關(guān)注技術(shù)的具體實(shí)現(xiàn)細(xì)節(jié),而不是去討論什么是面向?qū)ο?,什么是分層架?gòu)等基礎(chǔ)性問題

  注意:Microsoft – Spain團(tuán)隊(duì)一直以Domain Oriented一詞來形容這個(gè)項(xiàng)目,而不是用Domain Driven Design,原因是,Domain Driven Design包含的內(nèi)容,不僅僅是某一種架構(gòu)技術(shù),它還包含軟件項(xiàng)目的開發(fā)方式、開發(fā)團(tuán)隊(duì)的協(xié)作管理、用于領(lǐng)域?qū)<液蛙浖藛T之間的通用語言的創(chuàng)建等內(nèi)容。然而,在整個(gè)NLayerApp項(xiàng)目中,并沒有用到DDD的所有這些內(nèi)容,項(xiàng)目的范圍僅限于邏輯/技術(shù)層面的架構(gòu)設(shè)計(jì)。

  NLayerApp項(xiàng)目環(huán)境搭建

  在開始這個(gè)系列文章之前,先讓我們把NLayerApp的項(xiàng)目環(huán)境搭建好。在搭建環(huán)境之前,請(qǐng)檢查你的電腦是否滿足下面的先決條件:

  請(qǐng)按下面的步驟安裝和配置NLayerApp:

  1. 完成上述開發(fā)包的安裝和配置(最后兩項(xiàng)可以不安裝,本系列文章沒有用Windows Server AppFabric和Azure的功能)
  2. 下載NLayerApp v1.0的壓縮包,地址是:http://microsoftnlayerapp.codeplex.com/releases/view/56660,選擇V1.0 - N-Layer DDD Sample App NET4.0,本系列文章將使用這個(gè)版本進(jìn)行介紹
    image
  3. 解壓縮下載完的zip包,包含三個(gè)文件夾:CORE、CORE-APPFABRIC和CORE-AZURE。本系列文章沒使用AppFabric和Azure,所以,直接進(jìn)入CORE目錄
  4. 暫時(shí)直接無視Tests,所以,雙擊打開NLayerAppWithoutTesting.sln解決方案
  5. 這個(gè)解決方案沒有將Infrastructure.Data.MainModule.Mock項(xiàng)目添加進(jìn)來,這會(huì)導(dǎo)致Infrastructure.CrossCutting.IoC項(xiàng)目無法編譯通過。在Visual Studio中,將解決方案展開到1.5.1 Data節(jié)點(diǎn),在該節(jié)點(diǎn)上右鍵單擊,選擇Add | Existing Project,然后在CORE的Infrastructure.Data.MainModule.Mock目錄下選擇Infrastructure.Data.MainModule.Mock.csproj項(xiàng)目文件,并單擊Open按鈕
  6. Server Explorer中,右鍵單擊Data Connections節(jié)點(diǎn),選擇Create New SQL Server Database選項(xiàng)
    image
  7. 在打開的Create New SQL Server Database對(duì)話框中,填入你的Server地址,然后輸入數(shù)據(jù)庫名稱,再單擊OK按鈕。本案例使用SQL Express(with Windows Authentication),使用默認(rèn)的數(shù)據(jù)庫名稱NLayerApp
    image

    你完全可以選擇自己定義的SQL Server和數(shù)據(jù)庫名稱,如果你是使用自己定義的SQL Server和數(shù)據(jù)庫的話,請(qǐng)同時(shí)修改2 – Database節(jié)點(diǎn)下NLayerAppDatabase項(xiàng)目的屬性:右鍵單擊NLayerAppDatabase項(xiàng)目,選擇Properties,在Property頁的Deploy選項(xiàng)卡中修改相關(guān)參數(shù):
    image
  8. 右鍵單擊NLayerAppDatabase項(xiàng)目,然后單擊Deploy,這將創(chuàng)建數(shù)據(jù)庫Schema
  9. 編譯整個(gè)解決方案
  10. 1.2 – Distributed Services節(jié)點(diǎn)下,找到DistributedServices.Deployment項(xiàng)目,右鍵單擊項(xiàng)目下的MainModule.svc文件,選擇View in Browser,以啟動(dòng)WCF服務(wù)
    image
  11. 啟動(dòng)用戶界面。NLayerApp v1.0提供以下幾種用戶界面:基于RIA的Silverlight 4.0 Client,基于Web的ASP.NET MVC Client,基于Windows的WPF Client
    基于RIA的Silverlight 4.0 Client
    右鍵單擊Silverlight.Client.Web項(xiàng)目下的Silverlight.Client.Web.html文件,選擇View in Browser,則啟動(dòng)基于RIA的Silverlight 4.0 Client
    image
    基于Web的ASP.NET MVC Client
    MVC.Client項(xiàng)目設(shè)置為啟動(dòng)項(xiàng)目并直接運(yùn)行,可以啟動(dòng)基于Web的ASP.NET MVC Client
    image
    可能是我瀏覽器版本低的緣故,得到的ASP.NET MVC頁面布局有點(diǎn)亂
    基于Windows的WPF Client
    WPF.Client項(xiàng)目設(shè)置為啟動(dòng)項(xiàng)目并直接運(yùn)行,可以啟動(dòng)基于Windows的WPF Client
    image

  本文介紹了NLayerApp項(xiàng)目的基本情況和環(huán)境搭建。從下一講開始,我們將進(jìn)入架構(gòu)設(shè)計(jì)的理論學(xué)習(xí)部分,包括:分層架構(gòu)、SOLID與設(shè)計(jì)原則、面向領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)的架構(gòu)趨勢(shì)以及分布式DDD(Distributed DDD,DDDD)。這部分內(nèi)容將主要來自于NLayerApp官網(wǎng)(microsoftnlayerapp.codeplex.com)提供的英文文檔,daxNET將在此做翻譯、整理與注解。

NET技術(shù)Microsoft NLayerApp案例理論與實(shí)踐 - 項(xiàng)目簡(jiǎn)介與環(huán)境搭建,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 大学英语综合教程1电子书| 姐姐的秘密电影| 《无所畏惧》| 马会传真论坛13297соm查询官网| 一声所爱·大地飞歌| 《诱惑》电影| 李耀| 《窃她》短剧全集| 《之后》电影| 视频偷窥| 女朋友的舅妈| 国产老阿姨| 桂林山水甲天下是几年级的课文| 妻子出轨| 少年智力开发报| 危机边缘第二季| 陈奂生上城| 朱莉娅安| 电影《uhaw》完整版| 云上的宝石| 爱 死亡和机器人| 拇指姑娘故事完整版| 温子仁电影| 雪山飞狐主题曲简谱| 戚薇床戏| 捷克女人性ⅹxxxx视频| 电影电车| 黄视频免费看网站| 印度超人3| 情满四合院46集免费播放电视剧| 燃冬海报| 任港秀| 在人间在线观看完整版| 日本变态浣肠免费视频| 爱情电影片| 少年包青天4第四部| 成人免费视频在线播放| 小姐诱心在线观看| 搬山道人| zeka| 欲望都市第三季|