Essentially making a middle-man to handle all my Domain/DomainEmail
requests?  I think I see how it works -- it takes the dependencies out of
Domains.cfc and DomainEmails.cfc and puts them into the DomainManager.cfc.  

Do you guys have any favorite books/sites for reading up on these topics?  

I must admit that Peter's argument is attractive -- I can see how the
DomainManager works, but ColdSpring's init-method argument seems like a much
easier solution to implement.  It might not be the most formally-laid-out
architecture in the world, but it works, and works quickly.  If my
dependencies ever change, I'm not suddenly needing to write a *Manager.cfc's
-- I just add a couple lines to my config file, and a few more to my
Gateway/DAO -- not to mention the ease of not having to update my controller
to make calls to my Manager rather than the Gateway/DAO. 

>From my perspective (admittedly a newbie perspective) it just seems like a
lot more of effort to implement the Manager classes.  Am I not recognizing
some benefit of the Manager?

Again, thanks to everyone who is enlightening me.  I know these posts take
time to write, and I'm quite thankful for all your input!

Jonathon

-----Original Message-----
From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of Tom Chiverton
Sent: Wednesday, June 20, 2007 10:36 AM
To: [email protected]
Subject: [coldspring-dev] newbie question!

On Wednesday 20 Jun 2007, Jonathon Stierman wrote:
> So what's the reasoning behind the dislike of circular dependencies?  From
> what I can tell, they're unavoidable in my case...

I think it's because it means you've not seperated the concerns / layers of 
abstraction correctly. 

> :( But I don't see any way around it, unless I wanted to live with sloppy

Why not inject both Domains and DomainEmails into a DomainManager ? The 
Manager then:
* deleteADomain(aDom) 
        call Domains.delete(aDom) 
        call DomainEmails.deleteAllEmailsForDomain(aDom)
* createADomainEmail(aRec)
        call Domains.get(aRec)
        if present
                call DomainEmails.add(aRec)

This also neatly seperates your buisness rules (what needs to be done and in

what order) from your actual operation logic.

-- 
Tom Chiverton
Helping to continuously promote essential designs
on: http://thefalken.livejournal.com

****************************************************

This email is sent for and on behalf of Halliwells LLP.

Halliwells LLP is a limited liability partnership registered in England and
Wales under registered number OC307980 whose registered office address is at
St James's Court Brown Street Manchester M2 2JF.  A list of members is
available for inspection at the registered office. Any reference to a
partner in relation to Halliwells LLP means a member of Halliwells LLP.
Regulated by the Law Society.

CONFIDENTIALITY

This email is intended only for the use of the addressee named above and may
be confidential or legally privileged.  If you are not the addressee you
must not read it and must not use any information contained in nor copy it
nor inform any person other than Halliwells LLP or the addressee of its
existence or contents.  If you have received this email in error please
delete it and notify Halliwells LLP IT Department on 0870 365 8008.

For more information about Halliwells LLP visit www.halliwells.com.





Reply via email to