MASA Framework -- EventBus入门与设计】的更多相关文章

概述 事件总线是一种事件发布/订阅结构,通过发布订阅模式可以解耦不同架构层级,同样它也可以来解决业务之间的耦合,它有以下优点 松耦合 横切关注点 可测试性 事件驱动 发布订阅模式 通过下图我们可以快速了解发布订阅模式的本质 订阅者将自己关心的事件在调度中心进行注册 事件的发布者通过调度中心把事件发布出去 订阅者收到自己关心的事件变更并执行相对应业务 其中发布者无需知道订阅者是谁,订阅者彼此之间也互不认识,彼此之间互不干扰 事件总线类型 在Masa Framework中,将事件划分为 进程内事件…
目录 MASA Framework - 整体设计思路 MASA Framework - EventBus设计 概述 利用发布订阅模式来解耦不同架构层级,亦可用于解决隔离业务之间的交互 优点: 松耦合 横切关注点 可测试性 事件驱动 发布订阅模式 发布者通过调度中心将消息发送给订阅者.调度中心解决发布与订阅者之间的关系,保证消息可以送达订阅者手中. 发布者与订阅者互不相识,发布者只管向调度中心发布消息,而订阅者只关心自己订阅的消息类型 多订阅者保序执行 在常见的发布订阅模式中,的确很少见到类似的说…
目录 MASA Framework - 整体设计思路 MASA Framework - EventBus设计 MASA Framework - MASA Framework - DDD设计(1) DDD 领域驱动设计是一个有关软件开发的方法论,它提出基于领域开发的开发模式,基于DDD理论,我们可以设计出高质量的软件模型. 它围绕业务概念构建领域模型来控制业务的复杂度,解决软件难以理解和演化的问题. 微服务 微服务是一种架构风格,通过进程间通讯.容错和故障隔离等方式,实现去中心化的服务治理. DD…
目录 MASA Framework - 整体设计思路 MASA Framework - EventBus设计 MASA Framework - MASA Framework - DDD设计(1) MASA Framework - MASA Framework - DDD设计(2) Clean Architecture 国内对于Clean Architecture的翻译很多,干净/整洁/清晰.但无论哪一种都说明了它简洁.清晰的特性. 早期它长这样 看到这张图的同学可能会对另外一张图有印象 洋葱架构…
源起 年初我们在找一款框架,希望它有如下几个特点: 学习成本低 只需要学.Net每年主推的技术栈和业务特性必须支持的中间件,给开发同学减负,只需要专注业务就好 个人见解:一款好用的框架应该是补充,而不是颠覆或过度创新 对扩展开放 可以按照业务需求任意调整依赖实现,而不被捆绑在一个架构思路上 功能强大却不限制架构,从单体到SOA再到微服务都可以适应 因为一个系统中总有复杂的也有简单的,最好能全面覆盖我们的业务场景 行业不限 既能支持传统行业的业务特殊性,又可以支持互联网行业的高并发特性 稳定性 有…
AAAA AAAA即认证.授权.审计.账号(Authentication.Authorization.Audit.Account).在安全领域我们绕不开的两个问题: 授权过程可靠:让第三方程序能够访问所需资源又不泄露用户数据,常用的多方授权协议主要有 OAuth2 和 SAML 2.0 授权结果可控:授权结果用于功能或资源的访问控制.常见的权限控制模型:DAC.MAC.RBAC.ABAC 想了解权限控制模型的话可以参照上一篇的权限设计 OpenId(Authentication) OpenID…
概念 什么是缓存,在项目中,为了提高数据的读取速度,我们会对不经常变更但访问频繁的数据做缓存处理,我们常用的缓存有: 本地缓存 内存缓存:IMemoryCache 分布式缓存 Redis: StackExchange.Redis 功能 目前,MasaFramework为我们提供了以下能力 IDistributedCacheClient: 分布式缓存 Masa.Contrib.Caching.Distributed.StackExchangeRedis: 基于StackExchange.Redis…
前一篇文章介绍了应用LLBL Gen生成Entity Framework所需要的类型定义,用一行代码完成数据资料的读取, <LLBL Gen + Entity Framework 程序设计入门>.如果已经对Entity Framework产生兴趣,则可以借助于这一篇,来学习Entity Framework如何对资料库进行操作. 连接字符串的写法  Database Connection String string con ="name = ConnectionString.SQL S…
Entity Framework实体模型 入门视频教程 恢复内容开始--- 第一步 创建一个 控制台应用程序 第二步 创建一个ADO.NET 数据实体模型 DbModel.edmx 需要跟数据库进行连接 通过 视图形式 创建 一张表 [assembly: EdmSchemaAttribute()] namespace EfStydu { #region 上下文 /// <summary> /// 没有元数据文档可用. /// </summary> public partial cl…
Entity Framework带给我们的不仅仅是操作上的方便,而且使用上也很是考虑了用户的友好交互,EF4.0与vs2010的完美融合也是我们选择它的一个理由吧.相比Nhibernate微软这方面做的的确是很不错. 下面我将使用CodeFirst方式来做个简单是实际例子与大家分享. 我们还是和 前面的文章 Entity Framework快速入门--实例篇一样,创建一个控制台项目. 第一步:创建控制台项目 第二步:在项目上右击添加Ado.Net 实体数据模型 如图所示: 第三步: 选择生成实体…