near bottom :-)

----- Original Message -----
From: "Eddie Bush" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Monday, July 29, 2002 11:37 PM
Subject: Re: Architecture advice....


> David Graham wrote:
>
> > Now we're onto "how to design a factory method" :-).  So if you have
> > many different service objects you could just compose your
> > ServiceFacade of these objects and publish their interfaces.  This is
> > the true use of the facade pattern so your code doesn't need to know
> > about all of the objects behind the facade.  You would do this like so:
> > ServiceFacade{
> > private SpecialServiceClass special;
> >
> > public doService(){
> >   special.doService(); //delegate call to internal service object
> > }
> > }
> >
> > Notice that all interaction with SpecialServiceClass is done through
> > the facade leaving you free to rip out SpecialServiceClass in the
> > future and replace it with something else.
> >
> > If you really want to do the factory thing you have 2 options:
> > 1.  A factory method for each service class
> >  public SpecialServiceClass createSpecialServiceClass()...
> >  public SpecialService2 createSpecialService2()...
> >
> > 2.  One factory method with parameter telling which type of service
> > class to return.  public Object create("SpecialServiceClass")
> >
> > I would go for the facade pattern so most of your code only knows
> > about the facade and not the implementation classes.
> >
> > I hope this helps.
>
> Why not name your services.  Then, use a properties file to figure out
> what the actual class is.  If all you ever programmed to was an
> interface, you could switch implementations out very easily.  Just edit
> the properties file and restart you app!
>
> Ex:
>
> services.serviceName=com.mycompany.services.ServiceClass1
>
> ... then ...
>
> public ServiceInterface create("serviceName")
>

wow, nice one Eddie.  The discussion is getting better and better!  Christ,
there is so much to look up in order to implement your ideas (which I think
are great!).

Regards,

Michael



> Ummmm - I believe that addresses any concerns you may have, but I sure
> welcome suggestions! ;-)
>
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to