gpt4 book ai didi

scala - 为什么我应该使用 object vs trait Dependencies 并导入它 vs mixin 来构建定义?

转载 作者:行者123 更新时间:2023-12-04 12:58:27 24 4
gpt4 key购买 nike

我一直注意到人们使用 object Dependencies 的模式和做 import Dependencies._object build在 sbt 如下:

import sbt._
import Keys._

object Dependencies {
// dependencies declared as vars
}

object build extends Build {
// bring Dependencies' vars to scope
import Dependencies._

// project definitions
}

最近,我发现了另一种具有以下特征的方法:
import sbt._
import Keys._

trait Dependencies {
// dependencies declared as vars
}

// bring Dependencies' vars to scope by with
object build extends Build with Dependencies {
// project definitions
}

我认为 trait 方法为构建对象提供了更好的命名,因为它读取对象构建是内联依赖关系的构建。

这些方法之间有什么区别(除了可能更好地写入/读取对象)?

我认为这个问题可能很容易归结为 Scala 中对象和特征之间的区别是什么,但由于它被缩小到 sbt 构建定义(我认为不需要太多表现力)我想我会在这里要求构建定义常见的模式。

最佳答案

两者之间没有语义差异。如果您必须选择一个,我更喜欢object Dependencies变体,因为这个更适合 build.sbt文件。

关于scala - 为什么我应该使用 object vs trait Dependencies 并导入它 vs mixin 来构建定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com