modulith/modulith-php

用于操作 ModulithPHP 的 CLI 工具。

dev-main 2023-10-21 00:33 UTC

This package is auto-updated.

Last update: 2024-09-04 23:58:17 UTC


README

这是操作 ModulithPHP 的 CLI 工具的仓库。

目标

  • 强制实施高级架构
      • 依赖必须向内和向下移动
      • 核心不得实现或扩展端口(允许有例外,如命令和事件)
      • 类只能有合理的依赖
    • 切片
      • 适配器必须解耦
      • 核心组件必须解耦
      • 核心组件测试必须解耦
    • 代码风格
      • 类必须后缀
      • 类不得后缀
    • 质量
      • 异常必须继承自项目异常树
      • 类不得依赖反射(有一些例外,如编译器传递)
      • 类必须在映射中(即序列化映射,这样我们才能确保它们可以进入消息队列)
  • 为项目生成架构图
    • C4 模型(只有 3 个级别)
      • 系统上下文图:提供一个起点,展示目标软件系统如何融入周围的世界。
      • 容器图:聚焦于目标软件系统,展示高级技术构建块。
      • 组件图:聚焦于单个容器,展示其内部的组件。
    • 应用程序映射 [1] [2]
  • 架构法医指标
    • 热点检测(复杂度 * 变化率)
      • 优先处理重构的代码
    • 代码单元时间耦合
      • 如果没有理由让它们一起改变(与测试和被测试的代码不同),它们可能需要重构
    • 代码单元所有权分析
      • 以检测团队知识不足
    • 等等...
  • 按组件拆分项目
    • 分析单体项目的依赖关系,并为每个组件创建拆分版本,以便它们可以作为微服务独立部署