> I can understand why you want to use Elixir for its ease of use but it
> bothers me when the defaults encourage bad design practices.

I don't think the Active Record pattern  is a bad design practice for
*all*  applications, only for ones where  there are significant
divergence between the the "database design details" and the preferred
"business objects."   On a photo sharing site, or a blog, or a wiki,
or any number of applications this is not true. However, I'm sure I'm
not alone when I say that my experience is that more often than not
whenever I decide "this time all my objects really do match up with my
tables, so it will be OK" I usually end up wishing I had a just a bit
more freedom to separate things.

But fortunately  Elixir doesn't take over your whole model, so you're
free to manually map objects where that's a better design decision.

I do think having some of your model in Elixir and some of it in raw
SA provides a less than optimal reading experience, as the two styles
look very different.   So, I do see a downside to using Elixir by
default for most all "enterprise" applications.

But, there's also somewhat more conceptual overhead, as well as more
boilerplate code to hack up a simple model with raw SA.

As I mentioned earlier my choice to use elixir as a default was mostly
designed around work being done to allow you to semi-automatically add
information about user authorization to database data.    (eg, make it
easy to say that only certian people are able to edit a particular
blog post.)

But that seems like a use-case that this work may be out in the future
a bit, and it is likely of the most use to people with complex data
needs (which would also be the people who are least likely to find
Elixir's active record pattern useful).

So, this isn't an easy choice to make.

I'm very interested in hearing what the rest of the community has to
say about this.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to