首先,我看的是Nop 3.80,最新版
百度資料很多,Nop用到的主要的技術有:
1、Mvc,最新版用的是 5.2.3.0
2、entity framework
3、autofac
4、插件化
5、(因為我是邊看代碼邊寫這個博客,怕忘記了一些東西,所以邊看便記錄,后面我看到感覺有好處的會添加到這里來)
1、mvc,不說了,百度一堆資料。如果不熟悉的同學可以參考 這里 這篇文章里面有一個很基礎的mvc教程。非常不錯。
2、entity framework,這個講真,我以前不用,因為做的是電商類項目,然后之前的框架根本沒用到這個。所以不是很理解它。對它的第一次接觸,便是這個nop項目閱讀,然后感覺不搞懂它就有些地方看不明白,所以花了點時間去學習entity framework,mvc的教程里面包含了entity framework。這里說明一下,nop用的是code-first,也就是代碼創建數據庫。
關於entity framework 的資料,可以參考一下 這里 (ps:這些是我在閱讀nop源代碼的時候,看的一些資料,還有挺多地址,我這里不一一貼出來,大家百度一下。博客園還是有很多好文章的。)
需要說明的是,如果你對entity framework 不是很感興趣,那大致了解一下就可以。但是最基本的,怎么配置映射表名,怎么配置約束,怎么配置一對多 多對多等。最好了解一下。有助於后面說理解nop的代碼。
3、autofac,這個依賴注入與控制反轉的第三方庫,具體用法可以看 這里 這個做作業有一個系列,還是很不錯的。說明:一定要理解autofac的作用,因為nop的代碼很多地方都是面向接口設計,如果不理解autofac的作用和寫法,后面理解代碼比較困難。我花了大概一天多的時間去各種百度各種測試。。。。。
4、插件化:講真,還沒仔細理解它的插件化結構,先不寫,后面補上。不會影響閱讀和理解nop的代碼。我保證。
如果你跟着我上面說的,把那幾個文章仔細認真看完了。現在你應該能能夠搭建一個簡單的,基於mvc+entity framework的增刪改查的例子了。對的,你可以按照mvc例子上一模一樣的例子寫一個。只要理解就可以。先不要急着去看nop的代碼,因為現在打開nop的代碼,如果你不懂上面說的那幾個,絕對是一臉蒙逼表情的。講真,第一次打算看nop的源代碼是一年多前,一個朋友給我推薦的,但是我下載完了看了一下,幾乎不知道是怎么回事。放棄之。。。第二次另外一個朋友又推薦,才下決心要看。。。
so,如果你也感興趣,跟着我的步伐,共同進步。
下一篇,會初識一下nop代碼。了解它的結構和程序是怎么運行的。
