乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      基于DDD的現(xiàn)代ASP.NET開發(fā)框架

       ThinkTank_引擎 2016-09-18

      ABP相關(guān)崗位招聘:給熱愛.NET新技術(shù)和ABP框架的朋友帶來一個(gè)高薪的工作機(jī)會(huì) 

      ABP交流會(huì)錄像視頻:ABP架構(gòu)設(shè)計(jì)交流群-7月18日上海線下交流會(huì)的內(nèi)容分享(有高清錄像視頻的鏈接) 

      代碼自動(dòng)生成:分享一個(gè)與ABP配套使用的代碼生成器源碼

      ABP系列文章總目錄:


      1、ABP總體介紹 
      2、ASP.NET Boilerplate入門 
      3、ABP分層架構(gòu) 
      4、ABP模塊系統(tǒng) 
      5、ABP啟動(dòng)配置 
      6、ABP依賴注入 
      7、ABP Session管理
      8、ABP日志管理
      9、ABP設(shè)置管理
      10、ABP領(lǐng)域?qū)印獙?shí)體(Entities
      11、ABP領(lǐng)域?qū)印獋}儲(chǔ)(Repositories)
      12、ABP領(lǐng)域?qū)印ぷ鲉卧║nit Of work)
      13、ABP領(lǐng)域?qū)印獢?shù)據(jù)過濾器(Data filters)
      14、ABP領(lǐng)域?qū)印I(lǐng)域事件(Domain events)
      15、ABP應(yīng)用層——應(yīng)用服務(wù)(Application services)
      16、ABP應(yīng)用層——數(shù)據(jù)傳輸對(duì)象(DTOs)
      17、ABP應(yīng)用層——參數(shù)有效性驗(yàn)證
      18、ABP應(yīng)用層——權(quán)限驗(yàn)證
      19、ABP應(yīng)用層——審計(jì)日志
      20、ABP展現(xiàn)層——?jiǎng)討B(tài)生成WebApi
      21、ABP展現(xiàn)層——Javascript函數(shù)庫
      22、ABP展現(xiàn)層——導(dǎo)航欄設(shè)置
      23、ABP展現(xiàn)層——異常處理
      24、ABP基礎(chǔ)設(shè)施層——集成Entity Framework
      25、ABP身份與權(quán)限管理模塊

       

      我按照ABP官方文檔的結(jié)構(gòu)大概列出了我準(zhǔn)備寫的文章系列,以后文章中的內(nèi)容將會(huì)是部分為翻譯部分為自己的經(jīng)驗(yàn)和感受。這一系列文章也正好作為我團(tuán)隊(duì)新成員的培訓(xùn)教材。

        

      背景介紹:

      有幾次在技術(shù)交流會(huì)和QQ群上我提到ABP項(xiàng)目,幾乎沒有人知道這個(gè)開源項(xiàng)目,張善友、蟋蟀等不少朋友問過我,怎么在中文社區(qū)都搜不到ABP這個(gè)項(xiàng)目的介紹文章呢? 是呀,這么好的東西,應(yīng)該讓更多人知道。我在博客園寫第一篇文章的時(shí)候就想介紹它,但因?yàn)楣ぷ魈Γ淖直磉_(dá)效率太低,就一拖再拖。今天在netfocus湯兄的ENode群里聊到ABP項(xiàng)目,有不少朋友還挺感興趣,所以建了一個(gè)QQ群(134710707),供大家以后討論ABP的架構(gòu)設(shè)計(jì)、DDD話題。

      去年我們公司在規(guī)劃一個(gè)新的O2O項(xiàng)目時(shí),我重新考慮了技術(shù)選型(具體情況我在第1、2篇博客文章里有介紹http://www.cnblogs.com/mienreal/p/4340864.html)。我大量的學(xué)習(xí)了新技術(shù)和開源項(xiàng)目,決定要開發(fā)一套適合自己的框架,準(zhǔn)備使用的思想和技術(shù)包括DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、分布式架構(gòu)、模塊化開發(fā)、ASP.NET MVC 5、Web Api、C# 5.0、EF 6、AutoMapper、SqlServer或MySql、Redis、XUnit、SPA等。

      為了有一個(gè)好的參考對(duì)象,我研究了國內(nèi)外10多個(gè)框架項(xiàng)目,最深入研究的有dax.net的Apworks、微軟的Orchard。后來在Github上按照關(guān)注度由高到低列出所有C#項(xiàng)目,我看了前1000個(gè)項(xiàng)目的介紹,在其中找到了這個(gè)讓我非常驚喜的ABP項(xiàng)目,它幾乎完全滿足我前面所列出的那些條件。它不僅功能強(qiáng)大,項(xiàng)目結(jié)構(gòu)和編碼風(fēng)格都非常優(yōu)雅,很有藝術(shù)感。

      我在ABP源碼的基礎(chǔ)上,按照自己的需求做了一些修改,已用于實(shí)際開發(fā)項(xiàng)目數(shù)月,在這期間,我的技術(shù)也得到了很大提升。為了讓更多朋友了解和使用ABP,我會(huì)寫一系列的文章來介紹他的架構(gòu)思想和運(yùn)用方法,今天列個(gè)目錄和總體介紹。英文比較好的朋友可以直接看他的官方網(wǎng)站,文檔已經(jīng)寫得非常好了。

      ABP的官方網(wǎng)站http://www.

      ABP在Github上的開源項(xiàng)目https://github.com/aspnetboilerplate

      ABP框架于2014年5月4日首次在Github開源,截止到2015年5月25日,總共進(jìn)行了1271次代碼提交,49次版本發(fā)布,現(xiàn)在的版本號(hào)是0.6.1.1。

       

      我在其他項(xiàng)目中看到的很多優(yōu)秀設(shè)計(jì),在ABP項(xiàng)目中都已存在,而且可能實(shí)現(xiàn)得更好。ABP框架的代碼,都通過xUnit進(jìn)行了單元測(cè)試。作者一直在用ABP框架開發(fā)他們的實(shí)際項(xiàng)目,從Github和他官方論壇上的信息可以看到,有很多國外的開發(fā)者在將ABP用作生產(chǎn)項(xiàng)目的基礎(chǔ)框架。如果需要直接使用ABP組件,可以通過Nuget安裝(在VS的Nuget包管理界面搜索Abp)。

      為了更好地將ABP適用于自己的項(xiàng)目,我對(duì)ABP的源碼做了一些修改,而沒有直接使用ABP組件。

      我的前篇文章中有介紹:新思想、新技術(shù)、新架構(gòu)——更好更快的開發(fā)現(xiàn)代ASP.NET應(yīng)用程序(續(xù)1)


      我希望更多國內(nèi)的架構(gòu)師能關(guān)注到ABP這個(gè)項(xiàng)目,也許這其中有能幫助到您的地方,也許有您的參與,這個(gè)項(xiàng)目可以發(fā)展得更好。
      今天只是作了一個(gè)大概介紹,希望有更多的朋友能去閱讀源代碼,然后參與討論。

       

      歡迎加QQ群:

      ABP架構(gòu)設(shè)計(jì)交流群:134710707       ABP架構(gòu)設(shè)計(jì)交流2群: 579765441

       


       

      2015-5-28 13:30 補(bǔ)充

      首先很感謝那么多朋友對(duì)本系列文章的高度關(guān)注,QQ群剛創(chuàng)建3天(5月28日),就有400多人加入了。有些朋友是對(duì)新技術(shù)感興趣,有些對(duì)架構(gòu)設(shè)計(jì)感興趣,有些對(duì)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)感興趣,而ABP剛好結(jié)合了這些熱門的話題。

      有些DDD的忠實(shí)愛好者可能發(fā)現(xiàn)了ABP框架并沒有實(shí)現(xiàn)所有DDD的概念,而且在簡單的示例中也完全沒有體現(xiàn)出DDD的設(shè)計(jì)思想。

      在此我補(bǔ)充談一下我的想法:

      因?yàn)槲沂莿?chuàng)業(yè)團(tuán)隊(duì)的技術(shù)合伙人,工作非常很忙,同時(shí)也因?yàn)槟芰τ邢?,我能做的就是讓更多的人了解到ABP框架在技術(shù)和設(shè)計(jì)模式上的精妙從而并產(chǎn)生研究它的興趣,通過大家的共同努力才能對(duì).NET技術(shù)社區(qū)產(chǎn)生積極的影響。

      由于想在盡量短的時(shí)間讓更多人對(duì)ABP有個(gè)大致了解,我現(xiàn)在只是簡單大概地翻譯了原作者的文章和例子,并沒有按照DDD的規(guī)范來做。對(duì)于還沒有太了解DDD的朋友,我沒辦法在這么短的文章講清楚(網(wǎng)上已經(jīng)有很多好的DDD文章,我在QQ群里也共享了一些DDD的學(xué)習(xí)資料)。我是想等大家對(duì)ABP框架和用法有一些了解以后,咱們?cè)匍_發(fā)一個(gè)完整的功能(比如團(tuán)購)來實(shí)踐DDD,先設(shè)計(jì)領(lǐng)域模型,再一步一步編碼實(shí)現(xiàn)。

      DDD推出來已經(jīng)11年了,為什么極少公司把它用于項(xiàng)目生產(chǎn)呢?我的感覺:一是因?yàn)镈DD本身確實(shí)有難度,又要顛覆以前慣用的數(shù)據(jù)庫驅(qū)動(dòng)思維,對(duì)個(gè)人能力有挑戰(zhàn);二是因?yàn)橥耆凑誅DD來做,對(duì)不能熟悉運(yùn)用的團(tuán)隊(duì)來說,會(huì)影響開發(fā)效率,延長開發(fā)周期,對(duì)公司眼前利益有挑戰(zhàn)。但是用DDD思想開發(fā)的項(xiàng)目,可維護(hù)性要高很多。怎么才可以又要好又要快的呢? 我覺得一個(gè)高質(zhì)量的基礎(chǔ)架構(gòu)就非常重要,有了好的框架,我們就可以減少重復(fù)寫代碼的時(shí)間,可以把更多精力花在領(lǐng)域設(shè)計(jì)上,從而縮短開發(fā)周期。這樣就能達(dá)到我在第一篇文章所說的“新思想、新技術(shù)、新架構(gòu)——更好更快的開發(fā)現(xiàn)代ASP.NET應(yīng)用程序”。盡管ABP沒有完全實(shí)現(xiàn)DDD,盡管它還有不完善的地方,正如作者所說“它是一個(gè)讓我們開發(fā)新的現(xiàn)代WEB應(yīng)用程序的新起點(diǎn)”。我們就在這個(gè)起點(diǎn)上,來不斷完善吧。大家共同努力,讓新思想、新技術(shù)、新架構(gòu)流行起來!

      希望英文能力比較好的朋友可以參與翻譯原作者的文檔,這樣我就可以騰出精力來準(zhǔn)備ABP源碼解讀和談實(shí)際使用中的經(jīng)驗(yàn)。

       

      歡迎加QQ群:

      ABP架構(gòu)設(shè)計(jì)交流群:134710707       ABP架構(gòu)設(shè)計(jì)交流2群: 579765441

       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多