什么是 Scala 等同于 Java 构建器模式?
2022-08-31 15:52:25
在我每天使用Java所做的工作中,我经常使用构建器来获得流畅的界面,例如:new PizzaBuilder(Size.Large).onTopOf(Base.Cheesy).with(Ingredient.Ham).build();
使用快速且肮脏的Java方法,每个方法调用都会改变构建器实例并返回 。不可变地,它涉及更多的键入,在修改之前先克隆构建器。构建方法最终会对构建器状态执行繁重的工作。this
在Scala中实现相同目标的好方法是什么?
如果我想确保它只被调用一次,然后随后只被调用并且可以调用,a-la定向构建器,我将如何解决这个问题?onTopOf(base:Base)
with(ingredient:Ingredient)
build():Pizza