说起国内早期的.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和BrnMall的代码是开源的,但是商业使用是收费,如果对该源码感兴趣,可以下载研究。
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/share/10000.html