[rspec-users] Collection proxies need to be stubbed ?

David Chelimsky dchelimsky at gmail.com
Sun Jan 21 17:23:51 EST 2007


On 1/21/07, Brian Yamabe <brian at yamabe.net> wrote:
> Sorry for continuing the divergence, but the design thoughts are very
> interesting.
>
> Couldn't DDD and TDA be satisfied by:
> Project.find_active_projects_for_user(:current_user)

How would that be implemented?

def self.find_active_projects_for_user(user)
  return user.projects.active_projects
end

This bi-directional dependency seems problematic to me. I realize that
rails makes it easy to do these, but again, just because its easy
doesn't make it a good decision.

This is one of those questions that can be enlightened by client need.
Do clients of Projects ask for their users? Do clients of User ask for
its Projects? If both answers are yes, then maybe the bi-directional
deal makes sense. If only one is needed, then only one should be
implemented.

OK. I'll shut up now. Go Bears!

David


> ---Brian Yamabe
>
> On Jan 21, 2007, at 12:53 PM, Jay Levitt wrote:
>
> > Francois Beausoleil wrote:
> >
> >>
> >> Adding #active_projects on User leads to a kind of namespace
> >> pollution, no ?  Really, who knows what projects are active ?  The
> >> Project class, or the User ?
> >
> > This seems to be a basic conflict between "Tell, don't ask" and
> > domain-driven design.  DDD, as I understand it, says the Project class
> > should encapsulate all knowledge about projects; TDA says we shouldn't
> > ask for the project proxy.  Yes?
> >
> > Jay
> >
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list