Open
Description
Possible points for refactoring are the following.
- Remove the Collection API for in-edges, out-edges and genomes.
These are not needed, since we can simply provide theCollection<>
interface via theget()
methods. This does increase the coupling, becauseCollection<>
is returned rather than some implementation. - Create a single
Position
and/orGuiData
class and store it inGraphNode
, rather than loose fields.
GraphNode
in general is getting very bloated with fields that are required for the GUI. Another option to fix this would be to create a class that wraps theGraphNode
and contains these fields (this would be someGuiNode
). The second option will most likely be preferable, because that keeps the data model decoupled from the GUI (rather than putting GUI in the model, we put model in the GUI). - The
GraphNode
test suite, which is currently contained inSequenceNodeTest
must be generalized to be run for every type ofGraphNode
, including bubbles.