Skip to content
brandonmoser edited this page Sep 23, 2010 · 3 revisions

The idea of decoupling the persistence mechanism from the items to be persisted makes sense. To this effect, perhaps it also makes sense to create a core abstraction that performs all the persistence logic: reading, storing, updating, deleting, creating indexes, etc. With a discreet core this would allow tool implementers to build various document object storage mechanisms. For example, storing and fetching of data via raw datatypes and a functional approach could be implemented, while more Object Oriented (ORM-like) document-object mappers could also be implemented.

The primary benefit is that the persistence mechanism is the same, but the interface developer experience may vary.

For something a bot more visual, consider the following directory structure:

cfmongodb
   /core - lower level persistence and mongodb management
   /doms - document object mappers
   /test - duh ;-)