The customer has indicated that they want to model some
reactions. One problem with this is that if a reaction is performed, there may
also have to be some static (inheritance, aggregation, or composition) model
changes.
Another important problem with the previous drawing, is that
the Cation and Anion inheritance would have to be changed if an atom or group of
atoms was given an extra electron or missing electron.
The following
drawing was done to more easily handle these requirements.
Notes: 1.The AtomGroup can also contain
an AtomGroup. This flexibility allows for collections (Atom Groups) such as
mixtures that contain molecules or elements. The molecules and elements are
collections (Atom Groups) of atoms. This may be too much flexibility because it
may be difficult to determine which functionality is specifically related to
types of matter.