Code gens and ORMs are NOT bad solutions per se. They are only bad when they are db centric. The whole point of an ORM is to handle object:relational impedance mismatch so it actually facilitates the easy persistence of rich object models. To say code generators are db centric is like saying programmers are db centric. They are as db centric as the templates and the metadata they use. Those that start with the db model to gen the object code ARE db centric and usually not all that useful which is why I always recommend starting with rich metadata describing a real object model and annotating that with persistence metadata to allow for the object model and persistence to be fairly decoupled.
Best Wishes, Peter On Jun 24, 2008, at 6:32 PM, Mark Mandel wrote: > Good conversation, and definitely a direction I find my coding > practices going in these days - more pragamtism. > > > This is the piece I told Hal at dinner I thought he missed. Code > generators and ORMs are probably a philosophically poor solution to > a problem since they do tend to create very data-centric models but > they are a solution nonetheless. So, when you get all the Acme Corps > on OODMS's, then I might reevaluate :) > > I don't know if I entirely agree with this, in that if you start > modelling first, and then build a DB that will support that model, > and ORM / code generator will give you the OO model you want. That > being said, if you have a legacy DB, or you start developing DB > first, then, yup, you will have to jump through some hoops to get to > where you want to go OO wise - or you may not get there at all. > > Mark > > > -- > E: [EMAIL PROTECTED] > W: www.compoundtheory.com > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
