0
点赞
收藏
分享

微信扫一扫

第40章 地址录服务的定义实现

小a草 2022-03-31 阅读 14

112 NopDirectoryDefaults、CountryCacheEventConsumer、CurrencyCacheEventConsumer、MeasureDimensionCacheEventConsumer、MeasureWeightCacheEventConsumer、StateProvinceCacheEventConsumer

    NopDirectoryDefaults类,通过该类及其属性成员,拼接出与地址录实体实例相关的缓存键字符串常量,从而为地址录实体的1个指定实例缓存项(字典,键/值对)的构建提供数据支撑。

    CountryCacheEventConsumer类,该类通过对其基类中的相关方法的覆写,从静态缓存数据库/分布式缓存数据库中清理出,国家实体所有实例的缓存项。

    CurrencyCacheEventConsumer类,该类通过调用其基类中的相关方法,从静态缓存数据库/分布式缓存数据库中清理出,货币实体所有实例的缓存项。

    MeasureDimensionCacheEventConsumer类,该类通过调用其基类中的相关方法,从静态缓存数据库/分布式缓存数据库中清理出,尺寸度量实体所有实例的缓存项。

    MeasureWeightCacheEventConsumer类,该类通过调用其基类中的相关方法,从静态缓存数据库/分布式缓存数据库中清理出,重量度量实体所有实例的缓存项。

    StateProvinceCacheEventConsumer类, 该类通过对其基类中的相关方法的覆写,从静态缓存数据库/分布式缓存数据库中清理出,省/直辖市/州实体所有实例的缓存项。

113 CountryService、ICountryService、StateProvinceService、IStateProvinceService、MeasureService、IMeasureService、GeoLookupService、IGeoLookupService、IExchangeRateProvider、ExchangeRatePluginManager、IExchangeRatePluginManager、CurrencyService、ICurrencyService、UpdateExchangeRateTask

    CountryService类,继承于ICountryService接口,该类实现了国家实体与国家表之间的CRUD数据交互操作。

    ICountryService接口,继承于该接口的类,实现了国家实体与国家表之间的CRUD数据交互操作。

    StateProvinceService类,继承于IStateProvinceService接口,该类实现了省/直辖市/州实体与省/直辖市/州表之间的CRUD数据交互操作。

    IStateProvinceService接口,继承该接口的类,实现了省/直辖市/州实体与省/直辖市/州表之间的CRUD数据交互操作。

    MeasureService类,继承于IMeasureService接口,该类实现了尺寸度量实体与尺寸度量表之间的CRUD数据交互操作;重量度量实体与重量度量表之间的CRUD数据交互操作;及其不同尺寸度量(单位)之间的相互转换;和重量度量(单位)之间的相互转换。

    IMeasureService接口,继承于该接口的类,实现了尺寸度量实体与尺寸度量表之间的CRUD数据交互操作;重量度量实体与重量度量表之间的CRUD数据交互操作;及其不同尺寸度量(单位)之间的相互转换;和重量度量(单位)之间的相互转换。

    GeoLookupService类,继承于IGeoLookupService接口,该类通过“GeoLite2-Country.mmdb”,获取1个指定客户端所在的地理地址,为定位操作提供数据信息。

    IGeoLookupService接口,继承于该接口类,通过“GeoLite2-Country.mmdb”,获取1个指定客户端所在的地理地址,为定位操作提供数据信息。

    IExchangeRateProvider接口,继承于该接口的类,通过汇率比率插件从第3方网站中获取指定货币(当前程程序默认值:欧元)的多个实时货币汇率比率值,并把这些实例存储到列表实例中。

    ExchangeRatePluginManager类,继承于IExchangeRatePluginManager接口,如果当前程序启用了汇率比率插件,那么当程序启动时把该插件所需要数据存储到列表类型的内存中,为当前程序使用该插件做好提前准备工作。

    IExchangeRatePluginManager接口,继承于该接口的类,实现了如果当前程序启用了汇率比率插件,那么当程序启动时把该插件所需要数据存储到列表类型的内存中,为当前程序使用该插件做好提前准备工作。

    CurrencyService类,继承于ICurrencyService接口,该类实现了货币实体与货币表之间的CRUD数据交互操作;及其按照汇率值进行货币之间的相互转换操作。

    ICurrencyService接口,继承了该接口的类,实现了货币实体与货币表之间的CRUD数据交互操作;及其按照汇率值进行货币之间的相互转换操作。

    UpdateExchangeRateTask类,如果第3方网站中的汇率出现变化,则通过计划任务接口实例,对货币表中的数据进行更新操作。

1、重构Nop.Web.Framework.Infrastructure.DependencyRegistrar.Register方法,取消下列语句前的注释:

                 services.AddScoped<IGeoLookupService, GeoLookupService>();

            services.AddScoped<ICountryService, CountryService>();

            services.AddScoped<ICurrencyService, CurrencyService>();

            services.AddScoped<IMeasureService, MeasureService>();

            services.AddScoped<IStateProvinceService, StateProvinceService>();

          services.AddScoped<IExchangeRatePluginManager, ExchangeRatePluginManager>();

对以上功能更为具体实现和注释见:22-03-31-040_Nop_4.40.4(地址录服务的定义实现)

举报

相关推荐

0 条评论