fengling-member-service/.github/instructions/integration-event.instructions.md

1.2 KiB
Raw Blame History

applyTo
src/Fengling.Member.Web/Application/IntegrationEvents/*.cs

集成事件开发指南

开发原则

必须

  • 事件定义
    • 必须使用 record 类型。
    • 包含跨服务通信所需的关键数据。
    • 使用过去式动词描述已发生的事情。
    • 事件应该是不可变的。
  • 复杂类型:如果需要复杂类型作为属性,则在同文件中定义,同样必须使用 record 类型。

必须不要

  • 引用聚合:不允许引用聚合。
  • 敏感信息:避免包含敏感或过于详细的内部信息。

文件命名规则

  • 类文件应放置在 src/Fengling.Member.Web/Application/IntegrationEvents/ 目录下。
  • 文件名格式为 {Entity}{Action}IntegrationEvent.cs
  • 每个集成事件一个文件。

代码示例

文件: src/Fengling.Member.Web/Application/IntegrationEvents/UserCreatedIntegrationEvent.cs

using NetCorePal.Extensions.Domain;
using Fengling.Member.Domain.AggregatesModel.UserAggregate;

namespace Fengling.Member.Web.Application.IntegrationEvents;

public record UserCreatedIntegrationEvent(
    UserId UserId, 
    string Name, 
    string Email, 
    DateTime CreatedTime);