Compared to the validation and enumeration apps discussed in Volume 1, we have to deal with a number of new technical issues:
In the model code we now have to take care of reference properties that require
maintaining referential integrity;
choosing and implementing one of the two possible deletion policies discussed in Section 2 for managing the corresponding object destruction dependency in the destroy
method of the property's range class;
conversion between internal object references and external ID references in the serialization function toString()
and the conversion function toRecord()
, as well as in the constructor function.
In the user interface ("view") code we now have to take care of
showing information about associated objects in the Retrieve/List use case;
allowing to select an object from a list of all existing instances of the association's target class and add it to, or remove an object from, a list of associated objects, in the Create and Update use cases.