38.20. PersistentObject Superclass and Separation of Concerns
A common partial design solution to providing persistence for objects is to create an abstract technical services superclass PersistentObject that all persistence objects inherit from (see Figure 38.17). Such a class usually defines attributes for persistence, such as a unique OID, and methods for saving to a database.