Welcome to Objectivity, Inc. -- makers of the industry leading Objectivity/DB object-oriented database management platform, Grid Certified (Levels 1 through 6), and SOA compliant Twitter LinkedIn YouTube RSS Feed

.
Object Oriented Database Learning Center

Data Model Abstraction

Data Model Abstraction: When writing ODBMS applications in C++, issues of encapsulation become more important than normal because the physical storage of objects is something which the application developer should not have to worry about when he is re-using libraries of persistent classes written by the schema developer. It is not possible to make using persistent objects as easy as using transient objects but our goal should be to get as close as possible to this ideal. A detailed implementation example is shown in the Appendix.

By imposing an abstraction layer between the business objects and the underlying data model, it becomes much easier to tune the performance or reorganize the data layout of your persistent objects at a later time. By following the pattern described here, the lifetime of persistent objects is all managed in a small number of methods which can be changed without affecting the rest of your application. This may be more work in the beginning but like other software engineering practices, it will pay off later.


Object Oriented Database Learning Center