一:【nopcommerce系列】Nop整體架構的簡單介紹,在看nop代碼之前,你需要懂哪些東西

来源:http://www.cnblogs.com/Jerseyblog/archive/2016/08/11/5762018.html
-Advertisement-
Play Games

首先,我看的是Nop 3.80,最新版 百度資料很多,Nop用到的主要的技術有: 1、Mvc,最新版用的是 5.2.3.0 2、entity framework 3、autofac 4、插件化 5、(因為我是邊看代碼邊寫這個博客,怕忘記了一些東西,所以邊看便記錄,後面我看到感覺有好處的會添加到這裡來 ...


 

首先,我看的是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代碼。瞭解它的結構和程式是怎麼運行的。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天來說說圖片壓縮技術,為什麼要使用圖片壓縮,圖片上傳不就完事了嗎?對的,這在幾年前可以這麼說,因為幾年前還沒有現在這麼大的併發,也沒有現在這麼關註性能。 如今手機很多,很多人都是通過手機訪問網路或者app,再調用介面的時候肯定會多多少少的瀏覽圖片,尤其是脫離wifi的情況下,可以看到很多軟體展示都 ...
  • 一、轉向(Forward) 1.要點說明 轉向是通過RequestDispatcher對象的forward()方法來實現的。RequestDispatcher可以通過HttpServletRequest的getRequestDispatcher()方法獲得。getRequestDispatcher( ...
  • Go語言是Google內部主推的語言,它作為一門全新的靜態類型開發語言,與當前的開發語言相比具有許多令人興奮不已的新特性。專門針對多處理器系統的應用程式編程進行了優化,使用go語言完全可以媲美c、c++的速度,而且更加安全、簡潔,支持並行進程。 以下是go語言的主要特性: 1、自動垃圾回收 2、更豐 ...
  • --> Poker類用於存入54張撲克牌 --> Player類對玩家進行發牌和顯示處理(寫完我就後悔了,J,Q,K,A,2的排序太low了..package com.dragon.java.hwddz; --> 寫完發現邏輯是不是有問題啊... ...
  • 定義: 單來源調用指一個類的生成工作只能由特定類來執行。 eg李寧牌鞋子只能由李寧專賣店生產 這個問題歸結起來,也就是說在工廠模式中,指定的產品類只能通過具體的特定工廠類來生成,而不能自己new出來或者通過其他類生成。 具體的,我們就在代碼實現中進行說明瞭。 這裡我們來一步一步分析。 首先,一個類實 ...
  • 昨天跟大家分享了Hibernate中單向的一對多、單向多對一、雙向一對多的映射關係,今天跟大家分享下在Hibernate中雙向的多對多的映射關係 這次我們以項目和員工舉個慄子,因為大家可以想象得到,在真實的環境下,一個項目肯定是對應著多個員工的,這毫無疑問, 那麼同時,一個比較牛員工也能同時參與多個 ...
  • 接觸Hibernate也有一小段的時間了,愈發的覺得Hibernate是個神奇的東西,為什麼這麼說呢?因為你可以不懂一行sql,直接面向對象,就可以將數據直接保存到資料庫去!! 你還可以保存一個對象,然後一次性的將與它相關的所有數據保存到資料庫,比如說,你只需要保存班級對象,就可以將該班級信息和該班 ...
  • "封裝、"多態"、"繼承"。 "單一職責原則"、"開放封閉原則"、"里氏替換原則"、"依賴倒置原則"、"介面分離原則"。 低耦合與高內聚 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...