笔记-NopCommerce系统架构分析-事件机制
来源:互联网 发布:剑三笔记本优化版没了 编辑:程序博客网 时间:2024/05/12 00:02
事件机制数据库中类似触发器功能。通过它可以订阅某个实体的添加、更新或删除数据后的处理操作。主要用于在数据变动时清理数据相关系统缓存。
应用场景
如当更新某个产品时,事件触发删除该产品的缓存处理程序。
主要对象:
事件消息类型:添加(EventInserted<T>)、更新(EventUpdated<T>)、删除(EventDeleted<T>)
事件发布者(IEventPublisher):发布某种消息类型的事件,如当添加了某个产品时,发布产品添加事件。
事件订阅者(IConsumer):订阅某种消息类型的事件,如当需要监视产品总量变动时,订阅产品添加事件。
事件服务(ISubscriptionService):发布者与订阅者的中间关系处理,用于查找相应相应消息类型的订阅者。
现有用例
在数据访问中为了避免对数据库的多次读取操作,对主要业务实体实现了缓存机制。
当系统中存在缓存时,为了在数据更新的时候能及时清理缓存。
在系统中实现了事件机制。
当有数据添加或更改时,事件响影,并清理缓存。
业务流程
订阅
实现IConsumer接口即可订阅事件。
获取订阅者
由程序启动时,通过TypeFinder查找所有程序集中实现IConsumer接口的类,并注册Ioc以单实例缓存在系统中。
事件发布
通过发布者发布.(通过事件服务查找所有订阅者,并将事件消息传到订阅者事件句柄中。)
事件服务
通过反射在程序启动时获得所有订阅者,并将订阅者存在IOC中。
业务规则
事件的应用模式,适用于当数据变化时应引起的业务或系统数据的变化。
阅读全文
0 0
- 笔记-NopCommerce系统架构分析-事件机制
- 笔记-NopCommerce系统架构分析-缓存机制
- 笔记-NopCommerce系统架构分析-任务机制
- 笔记-NopCommerce系统架构分析-插件机制
- 笔记-NopCommerce系统架构分析-简介
- 笔记-NopCommerce系统架构分析-单实例控制、Type探测器
- 笔记-NopCommerce系统架构分析-引擎和依赖管理IOC
- 笔记-NopCommerce系统架构分析-Ef数据访问
- NopCommerce架构分析之四----插件机制
- NopCommerce架构分析之开篇
- NopCommerce架构分析之参考资料
- NopCommerce MVC 插件机制分析
- NopCommerce架构分析之六------自定义RazorViewEngine
- NopCommerce架构分析之八------多语言
- NopCommerce架构分析之七------皮肤管理器
- 【架构】Windows事件机制合理分析
- NopCommerce架构分析之一----依赖类生成容器
- NopCommerce架构分析之五------Model绑定Action参数
- HHVM
- Spring事务管理
- (9)for循环嵌套例子:打印正三角,反三角,九九乘法表,正三角形
- mysql全文索引替换like '%11%'
- 对OKHttp3的简单封装
- 笔记-NopCommerce系统架构分析-事件机制
- Linux网络编程——多播
- SCSS入门
- 由自定义异常引发的对 __str__ 和 repr 的思考
- JSon字符串处理
- Java 内存溢出(java.lang.OutOfMemoryError)
- Linux字符设备驱动(blackhole)
- mongo简易安装
- php post get提交