希望能进一步了解scala。
我经常看到这是一种工厂模式:
trait Animal
private class Dog extends Animal
private class Cat extends Animal
object Animal {
def apply(kind: String) = kind match {
case "dog" => new Dog()
case "cat" => new Cat()
}
}
Animal("dog")
考虑到对象的使用,我想知道这意味着什么。在为许多客户提供服务时,是否正在使用这种“足够好”的工厂模式?工厂可以成为循环访问的演员池吗?是否有更好的基于期货的方法?我想避免工厂模式成为设计中存在大量短期Animal实例的设计中的瓶颈。
或者我只是误以为担心工厂是瓶颈?