Mam problem, jeśli mamy coś takiego:
class Dupa(i: Int) extends Actor
class A {
def createActor = context.actorOf(Props(new Dupa(3)))
}
I w dokumentacji akki jest takie zdanie, że jest takie coś odradzane (definicja new Dupa(3) w środku) bo mogą nastąpić problemy z enkapsulacją, i jest polecane coś takiego:
class Dupa(i: Int) extends Actor
object Dupa {
def props(i: Int) = Props(new Dupa(i))
}
class A {
def createActor = context.actorOf(Dupa.props(3))
}
Ogólnie pisze że w pierwszym przypadku rzekomo jest jakieś domknięcie. Ja tego nie widzę, zawsze myślałem że domknięcie to jakbym zrobił coś takiego
class A {
def dupa = new Dupa(3)
def createActor = context.actorOf(Props(dupa))
}
Link o czym mówię:
http://doc.akka.io/docs/akka/2.4.0/scala/actors.html#Dangerous_Variants
Ogólnie chodzi mi, czy to co przedstawione na 1 wklejce to czy to jest domknięcie i dlaczego?