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。