? 一直想做電商軟件,但是實在不想學PHP了,所以前后關注了這兩個開源電商系統。一個是國人出品的,一個據說是俄羅斯人寫得(不知道對不對)。目前兩個開源軟件都在學習了解中,以下的博文可能會涉及到這兩套系統,我希望能對比進行學習,能互相借鑒和補充。
?brnshop :http://www.cnblogs.com/wheretime/p/3793979.html? (入門篇:BrnShop開源網上商城第一講:架構設計)
?nopCommerce:http://www.cnblogs.com/babietongtianta/p/4659381.html (NopCommerce源碼架構詳解--初識高性能的開源商城系統cms)
? 通過閱讀源碼和學習以上兩篇文章,我們對比發現有幾個異同點。
? (一)相同點:?
?? A.兩套源碼的代碼結構的劃分挺接近,都有Library Presentation Plugins ,Library下也都有Core Data Service。難道兩家商量好的,還是誰學誰?
?? B.表現層都遵循典型的mvc的結構,每個插件也都是一個小的mvc結構
?? C.架構上針對擴展性都還設計得比較合理
?? (二)不同點:
?? A.brnshop代碼結構劃分還有個策略分類,是具體接口的實現,它把它單獨拎出來。
?? B.nopCommerce老外更重視單元測試,還附有Tests單元測試的配套項目,一個復雜的電商網站,每每有改動,遍歷測試似乎也是保證質量的重要手段,只是國內做項目一般都覺得還寫測試用例和單元測試時浪費時間。
?? C.nopCommerce數據庫訪問用的是EF,這對于用不慣EF的小伙伴是個坎。我用過EF一些,感覺還是不太好用,可能是習慣和水平的原因。 brnshop沒有采用EF,采用dotnet的標準數據庫訪問對象再加一些輔助類(做一些對象轉換等等)。這里是否可以使用輕量的dapper框架,也 許后面可以做些探索。
?? D.還有一個是國際化的問題,nopCommerce在這方面很出色,支持界面的多語言切換。brnshop這方面舍棄了沒有考慮,現在做軟件如果從市場出發,一開始是否瞄向國際市場,也是個戰略和戰術上的雙重抉擇。
?? E.另外隱約感覺到,nopCommerce的插件似乎更成熟和豐富
?? 今天這第一篇分析先到這里吧,后面的時間接著讀。 愿意交流和交朋友的,可以加我的QQ:9200118