前言摘要
很早以前就有要寫ABP高級系列教程的計划了,但是遲遲到現在這個高級理論系列才和大家見面。其實這篇博客很早就着手寫了,只是樓主一直寫寫停停。看看下圖,就知道這篇博客的生產日期了,誰知它的出廠日期竟是現在,2個半月了,哎,也是醞釀夠久的了!
期間,很多園友一直在催我更新,都是在期待我的這個ABP高級系列,在這里,抱歉地說一聲,讓你們久等了,本人因為種種事情耽誤了很長時間,所以從今天起,正式開始更新ABP理論高級系列教程。
在學習這個高級系列之前,希望你已經學習了ABP理論基礎篇,以及最好已經閱讀了那篇博客中提到的其他關於ABP的文章。畢竟,ABP基礎篇是高級篇的鋪墊,有了這個基礎,學習ABP理論高級篇就相對來說容易多了。當然,這只是建議,有些高級知識點和ABP關系不大,比如第一個要講的EF之Code First開發,即使沒有ABP基礎也可以學習。
時至今日,ABP這個框架已經有1307個人star,而且有712人Fork,感覺發展挺迅速的,我做了這么長時間普及工作(吹呢),不知道有沒有我的貢獻呢(嘿嘿),應該有我的功勞吧(害羞)!其實我對ABP的普及做了多大貢獻不重要,重要的是我分享了,我收獲了知識,也收獲了分享的快樂,此外還看到很多人用這個框架搭建起了自己的項目,並且學到了很多知識,提升了自我!這就滿足了!
作為高級系列篇,制作是需要時間和精力的,所以文章更新的周期會長一點,希望大家多點耐心。:)
技術大餐
在介紹高級知識點之前,我再次把之前的關於ABP的學習目錄放到這里,方便大家查閱:
ASP.NET Boilerplate Project(ABP.Net樣板項目)的簡稱
ABP官網:http://www.aspnetboilerplate.com **
英文文檔:http://www.aspnetboilerplate.com/Pages/Documents **
Github:https://github.com/aspnetboilerplate **
我的ABP實戰系列教程(基礎篇):http://www.cnblogs.com/farb/p/ABPPracticeContent.html **
我的ABP實戰高級系列教程(黃金篇):計划中... **
我的ABP理論基礎系列教程(典藏篇):http://www.cnblogs.com/farb/p/ABPTheory.html **
我的ABP理論高級系列教程(白金篇):http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent.html **
ABP實戰時遇到的問題匯總目錄:http://www.cnblogs.com/farb/category/767997.html **
我的Module-Zero學習目錄:**http://www.cnblogs.com/farb/p/ModuleZeroContent.html **
以下內容為ABP理論涉及到的高級技術,也是我接下來打算要講的一些知識點,其實不敢言講,只是自己搜集一些資料,學習一下,順便總結一下,再分享一下,就這么幾下子。如果您是大神呢,那您就不需要看這些基礎了,請您繞行;噴子呢,請您饒了我吧,因為我實在不知道如何應對您的噴點,我只能希望您不噴。
8天掌握EF的Code First開發
為啥要講這個呢?這不是小兒科嗎?
如果你接觸過EF的Code First開發,你會覺得這沒有多么難,至少讓你做一個CRUD操作你是沒任何問題的,可是如果讓你使用EF或者Code First解決絕大多數問題,那么不見得你能解決或者解決方法的效率還有待優化。感覺就像學習C#這門語言一樣,入門很容易,但想要真的掌握,還需要下些功夫。其實這也不是我妄自揣測,而是我確實發現有很多園友或QQ群友經常問一下關於EF方面的問題,可是總要扯上ABP,其實他問的問題和ABP沒半毛錢關系,因為使用ABP框架建的項目,所以懷疑是ABP的問題,其實根本還在於基礎不牢,沒有掌握EF的一些知識點。此外,EF也是ABP框架數據庫基礎設施層主要使用的技術,而且Module-zero的實現也是建立在EF技術之上的。所以,在這里開一個EF之Code First系列,希望使用EF Code First的同學能系統學習一下,本人也是學習,如有問題,請直接指出。
- Entity Framework介紹
- 第一個Entity Framework應用
- 領域建模和管理實體關系
- Code First開發系列之管理數據庫創建,填充種子數據以及LINQ操作詳解
- 視圖,存儲過程,異步API
- 管理並發和事務
- 數據庫遷移
- 使用EF實現一個小型博客平台
.Net中的AOP
構建高內聚,低耦合軟件的必學技
這個系列咱說說.Net中的AOP!什么?不知道AOP?其實我覺得你只是沒系統學習過罷了,在平時的開發中,肯定或多或少用到了AOP!AOP【Aspect-Oriented Programming】,即面向切面編程!一般用於橫切關注點分離,也就是說,將橫切關注點(如Logging,事務,參數校驗等)分離到單個類中,而不是和業務邏輯代碼寫到一起,這樣就大大增強了應用的擴展性和健壯性。找不到學習這方面的資料?好不容易找到了還是英文的,英文不好或看不下去?沒關系,這個系列我寫個《AOP in .NET》系列學習筆記,從該書中挑選出精華供大家吸收,希望大家喜歡!暫時先列以下大綱,可能會改動哦!
初識AOP
AOP基礎
AOP高級概念
- AOP實現類型
- 使用AOP作為架構工具
- 切面剖析:例子和執行
依賴注入【DI】
請耐心等待...
Castle Windsor
請耐心等待...
領域驅動開發【DDD】
請耐心等待...
ABP部分源碼解析
請耐心等待...
前端知識
請耐心等待...
大家投票補充...
留言提醒
之前寫初級教程的時候,很多園友也問了我很多知識點,有點偏高級話題,這些有點偏高級的話題我並沒有一一回答,就是想放在這個高級系列中,力爭將園友們的所有針對ABP的疑難困惑解決掉,如果我自己不能解決,那我就去查資料,或者去請教ABP的創始人HiKalkan,總之,讓我們在這里高級系列中解決掉所有的問題吧,真正搞清、搞懂ABP框架!同時,既然這還是理論教程,所以偏理論居多,以后也會出ABP實踐高級篇的,大家不要着急,慢慢學,慢慢吸收。此外,希望大家能在評論區留言,你希望在這個高級系列中把哪些知識點搞清楚,留言之前請先看下評論區,已經提到過的知識點就不要再提了,直接支持第一個提出該知識點的園友就行了,這樣我更容易看出哪些知識點是大家共同希望解決的。本目錄會經常更新,希望大家先收藏,方便日后查找,先謝謝大家支持!