我开始在我的Symfony Projects上实施干净的体系结构。
您可以在https://framagit.org/small/symfony-clean-architecture
的framagit上找到第一版的骨架清洁体系结构实现
干净的体系结构打算隔离每天更改技术代码时很少更改的业务代码。
- 实体是业务对象
- 他们代表数据(在商业意义上而不是ORM)
- 他们执行业务规则
- 用例是实施申请业务流程和业务规则
- 用例类
- 请求
- 响应
- 请求
- 接口适配器
- 控制器(HTTP处理)
- 网关(接口)
- 演示者(将驱动程序响应格式化的类)
- 经理(数据库和其他)
- 终点是框架和驱动程序
- 输入驱动程序(HTTP,消息经纪接收,Websocket ...)
- 输出驱动程序(ORM实施,消息代理消息排放,其他数据库驱动程序)
- 框架代码
骨架实现
在此实施中,我们有两个主要目录:
- “域”:所有应用程序和业务特定规则代码
- “基础架构”:框架和设备上附加的所有技术代码
您可以根据外部设备自由构建此代码
域目录是结构化目录,代表您的应用程序:
- 接口适配器
- 目录“网关”包含所有合同(类接口)
- 目录“控制器”包含所有输入HTTP管理器
- 目录“经理”包含所有其他经理(ORM经理,消息经纪人服务...)
- 主持人:正式化经理或控制器答案的类(例如HTML代码)
- 应用程序业务规则
- 请求:将要求数据正式为用例正式的课程
- 回答:类用用例正式答案数据的课程
- 用户酶:实施应用程序业务规则的课程
- 实体
- 实现业务规则和数据组织的课程