伞式应用有什么好处?

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

我正在考虑在Elixir中建立一个项目。因此,我正在研究伞式应用程序,但看不到使用它们的任何好处。

是否有任何与构建速度或代码清晰性有关的好处?

elixir
1个回答
0
投票

使用伞形结构的一个优点是应用程序被构造为独立的应用程序。这可以帮助在应用程序之间提供更清晰的界限,并分离应用程序关注点。例如,伞中的应用程序应仅调用另一个伞应用程序的公共api。但是,这不是强制性的,仍然可以调用私有api。

伞形应用程序具有自己的配置文件,测试和单独的mix.exs文件,由于伞形,它们可以作为一个大应用程序进行编译,运行和测试。但是,在应用程序目录中(在apps/app_name中)工作时,仍然可以独立运行和测试单个应用程序。

我认为这也可能有弊端。伞的一个缺点是您需要管理1 + app_count个不同的配置和混合文件。此外,您的源文件将嵌套得更深,例如在apps/app_name/lib/app_name/...中显示,而不仅仅是lib/app_name,这使得导航源代码更加困难。

[在许多情况下,我发现伞式应用程序对于我正在从事的项目不是必需的,因为伞式应用程序永远都不会独立运行。伞的替代方法是在lib/文件夹中有一个具有不同名称空间的项目,同时仍将其视为具有单独职责的应用程序。

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