Многие классы в стандартной библиотеке Scala используют apply()
своего компаньона в качестве фабрики. Это часто удобно при цепочке звонков, например, List(List(1))
. С другой стороны, по-прежнему можно создавать объекты непосредственно с new
(new HashMap[Int, Int]()
).Когда использовать объект компаньона фабрики против нового ключевого слова
Это стандартная библиотека. Теперь, в моем собственном коде, какой подход лучше использовать: фабрика компаньона или создание объектов с new
?
Существует ли какое-либо соглашение о том, когда следует создавать фабрику компаньонов и когда нужно использовать ключевое слово new
?
В чем преимущества использования одного над другим?
Потому что использование 'new' похоже на верхнюю шляпу или подтяжки. Он стильный для определенного стиля, но не очень современный. Сопутствующая фабрика - это пара повседневных джинсов. –