【文件属性】:
文件名称:typesafe-ids:用于创建ID的类型安全库
文件大小:12KB
文件格式:ZIP
更新时间:2021-05-14 08:22:10
Scala
类型安全ID
一个Scala库,用于为不同的域问题创建Typesafe ID。
我们要解决什么问题?
考虑一种尝试向用户的购物篮中添加商品的方法。
def addItem ( userId : UUID , basketId : UUID , itemId : UUID ) : Unit
我们知道上面的方法定义非常脆弱。 属于id的所有三个参数类型都具有相同的类型,即UUID。
在调用站点,我们可以通过传递错误的参数来结束调用上述方法,如下所示。
addItem(basketId, itemId, userId)
如果如上所述调用此方法,则可能会得到不希望的结果。
为了克服上述问题,一个明显的解决方案是为每个id类型使用专用类型。
使用值类别
我们可以通过使用专用的来解决上述问题
class UserId ( val underlying : UUID ) extends A
【文件预览】:
typesafe-ids-master
----project()
--------build.properties(18B)
--------Dependencies.scala(102B)
--------plugins.sbt(291B)
----src()
--------test()
--------main()
----.travis.yml(72B)
----LICENSE(1KB)
----build.sbt(940B)
----version.sbt(41B)
----README.md(5KB)
----.gitignore(50B)
----sonatype.sbt(242B)