问题标签 [cake-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
132 浏览

scala - IntelliJ 警告:“特征中使用的抽象值可能会在初始化期间导致错误”- LAZY abstract val-s 有什么问题?

IntelliJ 给我警告“特征中的抽象值可能会在初始化期间导致错误” - 如下图所示。

  • 这是什么意思 ?
  • 我应该认真对待这个警告吗?
  • 我应该使用def-s 而不是lazy val-s 吗?
  • 在这种情况下它们不一样吗?因为我们在这里谈论的是依赖注入,它创建了一个静态的——可能是循环的——对象图。
  • 但 !因为有lazy修饰符,所以图形是否是周期性的并不重要。正确的 ?
  • 这些值本身将简单地表现为它们是一个记忆函数,对吗?
  • 由于我们在这里(在静态对象图中)讨论引用,其中引用是有向边,对象是节点,这里有什么问题
  • 您能否举例说明使用lazy val-s 而不是def-s 会导致初始化期间出现问题?

感谢您阅读:)

整个代码库都在 github 上。

是有问题的特定行(在 github 上)。

我还在这里复制粘贴有问题的代码:

这是 IntelliJ 警告:

在此处输入图像描述

0 投票
0 回答
94 浏览

scala - Scala、蛋糕模式和混合。如何避免“注入”类中的许多参数

在构建一个新的 Playframework 应用程序时,我正在尝试使用蛋糕模式。

我的第一个理解是将自定义特征混合到控制器中,并将 Play 提供的特征作为参数传递:

在我不得不测试MyController并尝试模拟service.

为了模拟,service我应该能够使用MyComponents将提供模拟的存根。为了提供该存根,我必须将它作为构造函数参数传递。

当然,我的控制器比这更复杂,他需要多个组件才能工作。我担心以一个难以管理的构造函数结束,并带有很多参数。

为了限制参数的数量,一种想法是将所有组件混合在一起。但是我无法ControllerComponents将超类提供的实例BuiltInComponentsFromContextMyComponents

我不想传递给controllerComponentsMyComponents因为那个类提供业务服务,她不关心控制器组件。

你能帮我用蛋糕模式实现一个现实生活中的应用程序吗?

0 投票
1 回答
57 浏览

scala - 蛋糕图案斯卡拉

我是 Scala 的新手,我正在尝试实现上面的代码以在 main 中打印 true。我的问题是我的 IDE 在特征 InMemoryIdentityCache 中显示“未找到:身份验证”和“未找到会话”。我对如何实现这个蛋糕模式有点困惑。

我将不胜感激。