王剑编程网

分享专业编程知识与实战技巧

BrnShop国内最好的.NET开源电商平台之一

说起国内早期的.NET开源电商平台,那就不得不提BrnShop与BrnMall,它们在国内开源.NET电商平台画上了浓重的一笔。但随着时间的推移,有很多过去开源的项目渐渐都不维护更新了,BrnShop与BrnMall也是中之一,之前还有官网,现在官网都变成了股票资讯平台了。

在2014年之前,国内能够拿出手的.NET开源电商平台可以说是凤毛麟角,甚至比凤毛麟角还要稀少。那时候的电商平台以WebForm技术为主,基本上没有几个像样的。当时最好的一个开源电商平台就是NopCommerce(俄国佬的),之所以好是因为真正的开源免费,另外源码质量上乘,功能齐全。还有一个Smartstore.NET也是和Nop类似的电商平台(这里还有个小插曲,早期因为Smartstore.NET存在抄袭Nop的情况,还因此打过官司,后来和解了,仔细看过Nop与Smartstore的代码确实存在挺多相似之处,特别是Paypal支付这块)。

还有一个国内知名的.NET电商品牌海商(Hishop),当时使用的技术也是ASP.NET WebForm,直到2015年之后才推出了Himall,才采用当时较新的技术栈EntityFramework+Asp.net Mvc,但遗憾的是hishop旗下的产品是商业收费的。

时隔多年,我为什么会提起BrnShop和BrnMall,主要是因为它们使用了很多优秀的设计理念和开发思想,对我后面开发电商平台有很多的影响和启发,所以我非常推荐之前没有开发过电商项目的.NET程序员下载查看。

项目源码结构:

下面我重点介绍几个让我印象最为深刻的特性。

插件模式:系统对于相同业务的不同实现采用了插件机制,例如信任登录、支付方式等业务均采用了该机制。使用插件机制后,各业务的实现仅依赖于主程序的核心层以及对应的插件接口,插件与主程序之间完全松耦合,主程序不直接操作和干涉插件的内部实现,仅在相应的业务场景调用对应插件的对应接口方法。插件可以在主程序行时实时的热插入(拔出)系统。因此,各类插件可以单独开发,然后根据客户需要加入到系统中。正因为这种特性,可以做到在后台安装插件。

策略模式:对于某些业务可能存在多种不同的实现方式,BrnShop采用策略机制通过配置文件对这些业务进行切换。过这种方式,系统通过接口对业务进行抽象,使主程序不再依赖于某种业务的具体实现。针对同一接口只能配置一种策略,即相同策略之间具有排他性。例如缓存的使用,是使用本地缓存还是redis缓存,只能配置一种策略。

极致性能使用了存储过程,减少了SQL网络传输的带宽。虽然存储过程的调试麻烦一些,但是节省了网络传输的带宽,增强了性能,还是利大于弊。

皮肤切换:实现了一套商城前端皮肤动态切换的机制。

BrnShop最大的缺点是后台出奇的丑,或许也是作者后来不愿意再维护的一个原因吧。


结语: BrpShop是优秀的.NET电商开源项目,使用了很多良好的设计理念和开发思想,非常推荐之前没有开发过电商项目的.NET程序员下载学习。

如果您对BrnShop项目源码感兴趣,可以关注+转发,然后私信回复“brnshop”,源码发你。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言