Clean整洁架构的文件结构实现
下面是推特网友mjovanovictech对整洁架构(Clean Architecture)文件夹结构的方法。
专注于功能,而不是类型。
让我们以应用层为例:
应用
|__ FeatureFolder1
|_____ Feature1A
|_____ Feature1B
|__ FeatureFolder2
|_____ Feature2A
|_____ Feature2B
|_____ ...
这是什么意思 ?
正在根据它们所属的功能特征Feature对文件进行分组。
最终目标将是命令/查询和相应的处理程序:
- 有一个命令验证器
- 一个命令将有一个处理程序和一个验证程序。
- 查询在大多数情况下可能只有一个处理程序。
但不是按“类型”分组最终实现命令/查询的 !
我将所有与单个命令(功能)相关的内容都放在一个文件夹中。
这里有一个实际的例子:
应用
|__ Bookings
|_____ Cancel
|_____ Confirm
|_____ Reject
|_____ Reserve
|_____ ...
主要的好处是:
- - 更好的凝聚力
- - 单个功能的高耦合
如果你熟悉垂直切片架构,这个想法是类似的。
总结
围绕功能而不是类型组织Clean Architecture文件夹结构是一个明智的举动。它不仅增强了代码的可读性,而且还加强了关注点的清晰分离。
更多类似案例:
- github blogfoldder
- ABP 框架是一个基于ASP.NET Core 的完整基础架构,通过遵循软件开发最佳实践和最新技术来创建现代 Web 应用程序和API。