15. 命令查询职责分离 - CQRS

15. 命令查询职责分离 - CQRS

概念

CQRS是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, Greg Young在2010年创造了这个术语, 它是基于Bertrand Meyer 的 CQS (Command-Query Separation 命令查询分离原则) 设计模式。

CQRS认为不论业务多复杂在最终实现的时候, 无非是读写操作, 因此建议将应用程序分为两个方面, 即Command(命令)和Query(查询)

阅读更多
12. 事件总线 - 跨进程事件总线
11. 事件总线 - 进程内事件总线

11. 事件总线 - 进程内事件总线

概述

事件总线是一种事件发布/订阅结构,通过发布订阅模式可以解耦不同架构层级,同样它也可以来解决业务之间的耦合,它有以下优点

  • 松耦合
  • 横切关注点
  • 可测试性
  • 事件驱动
阅读更多
16. 缓存 - Caching
13. MasaFramework -- 异常处理

13. MasaFramework -- 异常处理

前言

在程序设计中,我们会遇到各种各样的异常问题,一个异常处理不仅仅可以帮助开发者快速的定位问题,也可以给用户更好的使用体验,那么我们在AspNetCore项目中如何捕获以及处理异常呢?

而对应AspNetCore程序,我们有两种异常处理方案,它们分别是:

  • 异常中间件
  • 异常过滤器
阅读更多
MASA Framework的分布式锁设计
MASA Stack 第四期社区例会

MASA Stack 第四期社区例会

MASA Stack 产品讲解

MASA PM(基建与项管)
MASA Auth(权限认证中心)
MASA DCC (配置中心)
MASA MC(消息中心)
MASA Scheduler (调度中心)
MASA Alert (告警中心,开发中)
MASA TSC(故障排查控制台,开发中)

阅读更多
MASA Stack 第三期社区例会

MASA Stack 第三期社区例会

MASA Blazor 0.5.0发版内容

功能

Autocomplete:支持通过设置AutoSelectFirst参数开启自动选择第一项的功能,支持CacheItems参数,增强使用上下键的用户体验。

BottomNavigation::一个替代侧边栏的新组件。它主要用于移动应用程序。

DragZone:一个基于Sorttable.js实现拖放功能的新组件。

**Form **: FluentValidation 支持依赖注入,验证消息支持i18n。

i18n&nbsp: 组件库支持本地化,增强了文档的本地化。

Markdown:支持通过设置 Readonly 开启只读。

Modal:支持通过插槽设置自定义标题内容和关闭内容。

Select/Autocomplete:添加按下 Escape、Space、Home、End 键的逻辑。

阅读更多
14. 最小API - MinimalAPIs

14. 最小API - MinimalAPIs

在以前的MVC引用程序中,控制器负责接收输入信息、执行、编排操作并返回响应,它是一个功能齐全的框架,它提供了过滤器、内置了模型绑定与验证,并提供了很多可扩展的管道,但它偏重,不像其它语言是通过更加简洁的方式来开启Web之旅的,因此在.Net6.0官方引入了MinimalAPIs,即最小API,与MVC相比,它足够的简洁,适合小型服务来使用,下面就让我们看看如何使用MinimalAPI来开发一个web应用程序

阅读更多
10. 雪花id

10. 雪花id

前言

雪花算法是Twitter开源的分布式ID生成算法,雪花算法生成后是一个64bit大小的整数(long型),它的优势:

  • 高性能: 每秒可生成数百万的id
  • 生成的id是唯一的,不会重复
  • id是有顺序的
阅读更多