FX-9: strange (?) factory pattern in BehaviorBase:
fastegal at swingempire.de
fastegal at swingempire.de
Fri Mar 18 09:56:12 UTC 2016
The implementation of creating/accessing its inputMap looks strange to me:
// no field
// abstract getter
protected abstract InputMap getInputMap();
// implemented factory method
protected InputMap createInputMap() {
return new InputMap(getNode());
}
Now all subclasses (need to) contain the exact same snippets (and we
all know that code duplication is the worst smell of all :)
// have the field
private InputMap myMap;
// set the field in constructor
super(control);
myMap = createInputMap();
// implement getter
protected InputMap getInputMap() {
return myMap;
}
Wondering why the field is defered to subclasses? If it were pulled up
into base, all the duplicated code in subclasses could be deleted.
There must be a reason, but I don't see it - please enlighten me!
Cheers
Jeanette
More information about the openjfx-dev
mailing list