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程序,我们有两种异常处理方案,它们分别是:

  • 异常中间件
  • 异常过滤器
阅读更多
怎么样的框架对于开发者是友好的?
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是有顺序的
阅读更多
9. 锁与分布式锁
8. 更优雅的获取配置信息