Я хочу иметь класс ActorFactory, как показано ниже
public class SampleActorFactory {
// Simple create method
public createActor(AbstractActor.ActorContext actorContext, Props props) {
return actorContext.actorOf(props);
}
// other complex create methods
...
}
Можно ли создавать дочернего актера с использованием вышеуказанного фабричного класса, или это считается плохой практикой?Если считается плохой практикой, то почему?
Например:
public class SampleActor extends AbstractActor {
private final SampleActorFactory sampleActorFactory;
@Override
public Receive createReceive() {
return receiveBuilder()
.match(SampleData.class, sampleData -> {
Props sampleProps = getSampleProps(...);
ActorRef childActor = sampleActorFactory.createActor(getContext(), sampleProps);
})
.build();
}
}