+1 - what Brian said :-> On Apr 28, 2008, at 11:38 AM, Brian Kotek wrote:
> The Service Layer is meant to act as an API to your domain model. > That means anything external to the model should be going through > the Service Layer to interact with your model. Your controller > should never even know that DAO and Gateway objects exist at all. > > When you're sending messages to objects internally within the model, > you have more options as far as whether calls should be going > through other Service Layer objects or not. Personally, my Service > Layer objects will interact with things like a Gateway if they are > directly managed by the Service object. So if I have a UserService, > and a UserGateway, then it is acceptable coupling for the > UserService to make calls to the UserGateway since the gateway is > actually a property of the service. However, if I also have a > LoginService and it needs to find out something about a User, I > prefer to have the LoginService talk only to the UserService. I want > to keep it as the single authoritative interface for data or > behavior related to Users. I would be reluctant to let the > LoginService make requests directly to the UserGateway as this > breaks encapsulation and increases coupling, meaning if I need to > change how my UserGateway works, I now have to change the > UserService but also have to figure out if I need to change the > LoginService as well. > > > On Mon, Apr 28, 2008 at 7:20 AM, wkolcz <[EMAIL PROTECTED]> wrote: > Thanks. I guess then it might be better to ask when is it most > appropriate to interact the controller with a Service Object and > when to interact with a bean to utilize the DOA and Gateway objects? > I need to learn what is the strong point and weakness of both so I > can know when a situation warrants one over the other. > > Wish there was a real one-stop-resource out there to cover OOD for > CF and all the design patterns. :-) > > From: "Brian Kotek" <[EMAIL PROTECTED]> > Sent: Sunday, April 27, 2008 9:07 PM > To: [email protected] > Subject: [CFCDEV] Re: Noobie Question > > Wally, you're basically asking the question "what is the best way to > build my object model?", which is essentially an unanswerable > question because the answer it "it depends". > > When using Reactor and ColdSpring and Model-Glue, how do you know > that "this way is the better way of doing things"? And what answer > do you expect to the question "is it right to assume one should use > the Service Object to interact with the bean, the DAO, and the > Gateway?" > > The questions that you're asking are so dependent on what your > application actually needs to do, and the forces at play in your > specific environment, that they are nearly meaningless without far > more context. In some cases the answer will be yes and in some, the > answer will be no. > > > On Sun, Apr 27, 2008 at 9:37 PM, Wally Kolcz <[EMAIL PROTECTED]> > wrote: > Another thing. Using Illudium PU-36, it creates a Service Object. > After reading more up on it, is it right to assume one should use > the Service Object to interact with the bean, the DAO, and the > Gateway? > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
