Make Species and Configuration classes immutable #1948
Labels
Scope: Workflow
Affects general workflow or operation
Type: Enhancement
Enhancement for existing feature
Describe the feature / issue
For data safety it would be good to have the
Species
andConfiguration
class as truly immutable representations for the purposes of processing. In other words, we should remove any creative / destructive functions from them and put them all in something akin toEditableSpecies
andEditableConfiguration
classes. The latter would be passed toGenerator
procedures and then the contents of an immutableConfiguration
constructed from it once complete. Similarly, anEditableSpecies
is the subject of drawing and other editing operations, and from which aSpecies
is constructed afterwards.If we do this it will clean up quite a few "what if's" and "maybe"s when it comes to potential data mutations in the basic classes.
The text was updated successfully, but these errors were encountered: