Laravel 中的 DDD 和 MVC

问题描述 投票:0回答:1

我完全困惑了。

Laravel 结构是 MVC,但是最近听说有时开发者在 Laravel 中使用 DDD。

  • 这有什么意义?
  • 有在 MVC 中使用 DDD 的示例吗?

我试图找到一些使用 DDD 的 Laravel 项目,但没有得到任何结果

laravel model-view-controller domain-driven-design
1个回答
0
投票

有时应用程序处于早期阶段,采用微服务架构并不是最佳选择,但我们迟早可能需要扩展项目。就我个人而言,在这些场景中,我更喜欢 DDD。因此,通过 DDD 的良好实现,我们可以在单体应用程序中分离不同的业务逻辑,直到需要扩展为止。

我曾经在 Laravel 应用程序中使用过 DDD。我在

Domain
文件夹内创建了一个
app
文件夹。对于我拥有的每个域,我创建了一个文件夹,其中包含一个迷你 Laravel 应用程序(包括控制器、配置、路由、服务等),因此我有一个项目,准备在扩展时拆分为更小的服务。

棘手的部分是实施基础设施。我们通常在这些域之间有很多共享代码(例如事件、通知等),因此我需要将所有这些代码写入

Infrastructure
文件夹中,并像某些包一样使用它们,并且在扩展时,我再次复制将整个文件夹放入新服务中。

除了扩展的需要之外,有时我们还有一个包含 +100 个控制器的大型整体应用程序。在标准 Laravel 架构中处理它们将是一场灾难。在这些情况下,为了获得更好的可维护性,采用 DDD 可能是一个好主意。

© www.soinside.com 2019 - 2024. All rights reserved.