modulith/modulith-php 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

modulith/modulith-php

Composer 安装命令:

composer require modulith/modulith-php

包简介

The CLI tool to work with ModulithPHP.

README 文档

README

This is the repository of the CLI tool to work with ModulithPHP.

Goals

  • Enforce higher level architecture
    • Layers
      • Dependencies must go inwards & downwards
      • Core must not implement or extend from ports (allow for exceptions like commands and events)
      • Classes must only have sensible dependencies
    • Slices
      • Adapters must be decoupled
      • Core components must be decoupled
      • Core components tests must be decoupled
    • Code style
      • Classes must be suffixed
      • Classes must not be suffixed
    • Quality
      • Exceptions must inherit from project exception tree
      • Classes must not rely on reflection (there are exceptions like compiler passes)
      • Classes must be in map (ie a serialization map, so we are sure they can go ito a message queue)
  • Generate schematics for the project
    • C4 model (only 3 levels)
      • System Context diagram: Provides a starting point, showing how the software system in scope fits into the world around it.
      • Container diagram: Zooms into the software system in scope, showing the high-level technical building blocks.
      • Component diagram: Zooms into an individual container, showing the components inside it.
    • Application map [1] [2]
  • Architecture forensics metrics
    • Hotspots detection (complexity * change_rate)
      • Prioritize code for refactoring
    • Code units temporal coupling
      • If there is no reason for them to change together (unlike tests and the code they test), they should probably be refactored
    • Code units ownership analysis
      • To detect team knowledge deficiencies
    • And plenty more...
  • Split a project per component
    • Analyse the monolithic project dependencies and create split versions per component so that they can be deployed independently as microservices

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-10-05