3. New issues

Compared to the single-class app discussed in Part 2 (and Part 3), we have to deal with a number of new technical issues:

  1. In the model code we now have to take care of reference properties that require

    1. maintenance of referential integrity

    2. choosing and implementing one of the two possible deletion policies discussed in 2 for managing the corresponding object destruction dependency in the destroy method of the property's range class,

    3. conversion between (internal) object references and (external) ID references in the serialization and de-serialization procedures.

  2. In the user interface ("view") code we now have to take care of

    1. showing information about associated objects in the list objects use case;

    2. allowing to select an associated object from a list of all existing instances of the target class in the create object and update object use cases.

The last issue, allowing to select an associated object from a list of all existing instances of some class, can be solved with the help of an HTML select form element.