I'd look into onMissingMethod() so you can call arbitrary attributes. I certainly wouldn't get rid of objects. You're going to have to do a bit of magic to handle composed objects - probably by telling your code about it, so if you try to getName(), it'll return a String, but getComments() will return an iterator of Comment objects. A little metadata for known relationships should suffice, and if you have arbitrary nested objects, a generic iterator returning instances of a generic object which has generic getters.
Best Wishes, Peter On Jan 7, 2011, at 1:29 PM, Henry wrote: > How do you architect the CF backend model w/ NoSQL that are simple, flexible, > efficient and clean? > > Since NoSQL doc has no fixed schema like SQL row, it doesn't really fit well > with Objects which are rather static. Therefore the typical Bean+DAO+Service > OOP architecture doesn't seem to fit well. > > I'm thinking of using plain old Struct's, but then I cannot add behavior onto > it and it's going to make the whole project very procedural, which may not be > a bad thing? > > However, if I just use plain old struct, the DB implementations is leaked > everywhere including the View layer... > > Or... shall I translate the array's into CF's Query object for the View layer? > > Comment? Idea? Suggestion? > > Thanks! > > > > p.s. also asked here: > http://stackoverflow.com/questions/4622121/nosql-with-coldfusion-beanservicedao-oop-or-good-old-array-struct-procedur > > > -- > You received this message because you are subscribed to the Google Groups > "CFCDev" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/cfcdev?hl=en. -- You received this message because you are subscribed to the Google Groups "CFCDev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/cfcdev?hl=en.
