Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
The policy model needs the following improvements:
- Consistency, for example only have a List<Xyz> getXyz() method for 0..n relationships, no setter method, like we have in the other models.
- No information duplication, remove fields that duplicate information available somewhere else in the models, or which can be derived from existing information.
- No legacy, remove temporary fields and methods that are not used or not really needed anymore.
- Make sure that all get/read methods have no side effects and keep the model unchanged.
- Move any model processing logic out of the model classes, to 'processors', 'builders' or 'utilities', or whatever you want to call them.
- Proper Policy -> Assembly relationships, representing the natural "a Policy qualifies an Assembly object" instead of the current relationships, which are mostly Assembly -> Policy, basically backwards.
I suggest to start with a UML diagram, which will make the above issues appear obvious, then ensure that the model interfaces match the UML.