Out of curiosity, is "skinny controller" a pun on the "Fat controller"
from Thomas the Tank Engine, and "Fat model" a continuation of the
meme?

Andrew

On Thu, Feb 24, 2011 at 11:39 AM, Clifford Heath
<clifford.he...@gmail.com> wrote:
> On 24/02/2011, at 11:12 AM, Bodaniel Jeanes wrote:
>>
>> In the same sort of vein as MVC and keeping controllers skinny, have you
>> guys read this blog post about applying DCI (data context interaction) to
>> Rails MVC: http://andrzejonsoftware.blogspot.com/2011/02/dci-and-rails.html?
>>
>> I found it very interesting approach (especially for larger scale
>> projects) but haven't seen much chatter about it so I thought I'd throw it
>> out here to see what other people think.
>
> I hadn't seen this post or the acronym before, but this is really
> not a new invention.  It's just traits, which I (and others) have
> used in designing systems for more than a decade. It does seem
> to work nicely with Ruby though.
>
> Regarding the model/controller debate, in my view a controller is
> responsible for animating the process model. I.e. is this request
> valid in this context, and what should we do next? Everything it
> needs to know to direct that decision must come from outside the
> controller's context. There are four sources of such information
> that I identify: The request parameters, the session, the database,
> and the current configuration of the system (this includes the
> current time). Sometimes external systems also contain relevant
> state. You might also separate out the authorization data as a
> separate data source.
>
> Ultimately however, every controller decision is essentially based
> on a query which spans those fact sources. If each such source
> supported a single query interface, then controllers could be built
> on top of explicit query statements. I modelled a system like this
> once (although it was actually built in standard Rails), and the
> exercise was very interesting. I think it's a fruitful direction for
> further work.
>
> Clifford Heath, Data Constellation, http://dataconstellation.com
> Agile Information Management and Design.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby or Rails Oceania" group.
> To post to this group, send email to rails-oceania@googlegroups.com.
> To unsubscribe from this group, send email to
> rails-oceania+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rails-oceania?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To post to this group, send email to rails-oceania@googlegroups.com.
To unsubscribe from this group, send email to 
rails-oceania+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en.

Reply via email to