[Zope3-dev] changing IServiceService.getService signature

Gary Poster garyposter@earthlink.net
Mon, 15 Apr 2002 17:29:35 -0400


On Monday 15 April 2002 02:40 pm, Jim Fulton wrote:
> Gary Poster wrote:
> > Zope.ComponentArchitecture.IServiceService.IServiceService.getService
> > currently has this signature: (context, name).  This is apparently
> > unnecessary.  The getService *hook* needs the context, but the actual
> > service managers do not. Moreover (and this is the crux of the issue),
> > placeful services will often need to get their parent services without
> > access to a context other than their own.
> >
> > I am building a few placeful services and would like to make this change.
> >  If I don't hear any dissent today then I'll proceed.
> >
> > One of these should be chosen so that placeful services can get their
> > contextually higher service:
> >
> >  * remove context from IServiceService.getService:
> >      IServiceService.getService(name)
> >
> >  * make context explicitly optional:
> >      IServiceService.getService(name, context=None)
> >
> > I am in favor of the first option.  If you can't count on having context
> > then it seems pointless to occasionally send it and possibly react to it.
> > Again, the hookable ComponentArchitecture method will still require
> > context:
> >
> >  getService(context, name)
> >
> > and thus the service manager will in fact be placeful.
>
> +1

Cool.  Will do, then.

Gary