Well, business logic has to go somewhere. In the MVC pattern, that somewhere is 
generally the Model tier. The argument for SCFM (as I understand it) is that 
the controller  is a _bad_ place for it.

One thing that took me an embarrassingly long time to get my head around was 
that the Model layer doesn't have to exclusively be comprised of 
ActiveRecord-backed classes. You can still use POROs (to borrow a Java term) in 
your Model tier if that's the best fit for it - don't shoehorn logic into a 
persistent object if it doesn't really belong there.

Ultimately though, there's no magic-bullet, be-all-end-all pattern, as long as:

a) It's tested
b) It works
c) It's comprehensible by you
d) It's comprehensible by the person who comes _after_ you

If you've got those covered, then you can start bringing in lofty ideals such 
as DDD.

Of course, I might be wrong!

- Dan

On 23/02/2011, at 7:26 PM, jamesl wrote:

> We all know Rails is great and the community is very supportive.
> However, there are some practices that leave me a little puzzled/
> bamboozled.
> 
> The Skinny Controller, Fat Model post by Jamis Buck (http://
> weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model) appears
> quite popular. It was referenced in several conversations I have had
> and in the PragPub RSpec book.
> 
> But why is the practice of a Fat Model more acceptable than a Fat
> Controller?
> 
> I think a Skinny Controller is great but I also think a Skinny Model
> is great too .
> I want to know if others keep their Models Skinny and if so how?
> 
> BTW - to keep the model skinny I don't mix the concerns of Business
> with that of an Entity (See Domain Driven Design - Eric Evans)
> 
> Rgs, James.
> 
> -- 
> 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