关于sap:Spartacus-40-升级到-50-后-checkout-library-的设计变化

37次阅读

共计 891 个字符,预计需要花费 3 分钟才能阅读完成。

在 Spartacus 4.0 中,通过从原始 storefront 库中提取 checkout 性能,创立了一个新的 checkout library 实现。

然而,这个新的库只有一个蕴含所有结帐流程的入口点,即便它们未被应用(例如 scheduled replenishment flow)。

然而,在 Spartacus 5.0 中,checkout 库已进一步拆散为不同的业务逻辑性能,目标是使构建出的 Application Bundle 尺寸更小。

除了创立不同的入口点以减小 Application bundle 大小之外,NgRx 依赖项已大部分被删除(除了一些在事件侦听器中隔离的 NgRx 操作),这是通过将它们替换为 Commands and Queries 来实现的。

从 NgRx 转换为 Commands and Queries 的益处如下:

  1. 所有性能都在类中,因而更容易扩大。这一点与 NgRx 不同,在 NgRx 中,咱们如果没有破费精力去拆除 Spartacus 中深度嵌套的 NgRx 模块,就无奈真正扩大 reducer 或 Effect.
  2. 命令可能以更具 reactive 的个性去构建,并将执行后果作为同一办法调用的一部分返回。
  3. 和命令相似,监听 loading、error、数据状态的变动都更简洁,只须要调用一个办法,查问一次就能够失去所有后果。

dismantling module 是一种将软件系统中的功能模块合成为更小、更独立的局部的过程。在这个过程中,大型功能模块会被合成为更小的、更具体的子模块,每个子模块都有本人的职责和性能。

dismantling module 有助于改善软件系统的可维护性、可重用性和可测试性。通过将大型功能模块拆分成更小、更独立的局部,能够使代码更易于了解、批改和保护。此外,子模块的复用性也失去了进步,因为它们能够被其余模块所应用。

在软件开发中,dismantling module 通常是一个迭代过程,能够通过屡次合成和重组模块来逐渐改善软件系统的构造和品质。在这个过程中,开发人员须要认真评估每个模块的职责和性能,并思考如何将其拆分成更小、更具体的子模块。最终,通过一直的改良和优化,能够构建出高效、可保护和可扩大的软件系统。

正文完
 0