第69章 nopCommerce程序的整体框架

nopCommerce采用独特的'棒棒糖'架构,不同于传统的直线或墙型框架。它通过IConfig和appsettings.json管理第三方连接,ISettings和Settings表处理内部配置,而plugins.json则用于插件管理和程序扩展。这种架构虽然提供了灵活性,但也可能增加程序崩溃风险和资源消耗。
摘要由CSDN通过智能技术生成

程序开发常用的开发框架不是“自顶向下”就是“自底向上”,不管是那种方式,都说明框架是直上直下的框架,即是直线或墙型的框架模式,这在现实世界也工程建筑常见的框架(因为这种架构,最为成熟,成本最低,实现速度最快),但是异形的建筑框架也有的(例如悉尼的歌剧院等)。nopCommerce程序的整体框就是软件工程实现中的异形框架,通过AppDomain.CurrentDomain注入类型实例化,把整个软件构建为环形架构,再加上插件项,最终框架命名为;“棒棒糖”架构更为合适,最终如下图所示:

   

1 IConfig与appsettings.json

    nopCommerce程序有大量需要使用的第3软件、中间件或服务来实现特定的功能,nopCommerce程序通过Iconfig及其具体继承具体实现类把程序所连接的第3软件、中间件或服务简单的连接信息(例如数据库软件:SQL Server,分布式缓存软件:Redis等),持久化到appsettings.json文件中,以使用nopCommerce程序正常连接到这些。更为明显的说法是:Iconfig及其具体继承具体实现类所交互的数据和功能来自nopCommerce程序外部。

2 ISettings与Settings表

    nopCommerce程序是一个通用型程序,需要适用于极广的范围和极强的扩展性,nopCommerce程序为实现这种需求,nopCommerce程序通过ISettings及其具体继承具体实现类把程序实现需求所需的配置数据持久化存储到Settings表中。更为明显的说法是:ISettings及其具体继承具体实现类所交互的数据和功能来自nopCommerce程序本身。

3 插件与plugins.json

    nopCommerce程序增强适用范围和功能的方式是通过插件,plugins.json中持久化存储着nopCommerce程序中已经安装插件的信息。同时卸载的插件也必须从plugins.json中删除所对应的信息。nopCommerce程序中的插件包含两种,1种是已经集成在nopCommerce程序中,另1种则是需要从官方网站上下载后集成在nopCommerce程序中。

    这种增强适用范围和功能的方式,虽然足够灵活,使nopCommerce程序具有了系统软件的功能特性,但出增加的程序崩溃的概率,大大降低了程序的运行效率,增加了资源的消耗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值