OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: What is delegation

[ Lists Home | Date Index | Thread Index ]
  • From: David Brownell <db@Eng.Sun.COM>
  • To: xml-dev@ic.ac.uk
  • Date: Mon, 12 Oct 1998 15:59:24 -0700

Dean Roddey wrote:
> I'm sure you'll get some definitions, but here are
> some examples that may help...

See also my response of this morning, archived at


Some technical motivations for delegating:

- Coping with situations where the interface isn't
  "exactly" the same (e.g. adapters that implicitly
  add another argument, extra setup needed, etc);

- Sometimes you need lots of objects to delegate to
  the same object, and yet have distinct identity.
  That object might be a flyweight, but to use it
  in some cases you might need to restore its weight.

- Base classes differ; client A needs something to
  call object B but needs its callback to derive from
  some concrete class.  It delegates to object C which
  is so derived, and which calls B.

- As Dean noted, "composite" objects include others
  with "has-a".  Distributed systems often work that
  way ... a user account object "has-a" home directory,
  a password, a set of files.  But those are objects in
  their own right, so "is-a" (subtyping) is wrong.

I've not found "aggregation" to be helpful except when
talking about COM, but that may be because COM has rules
about aggregating that don't apply to more classic object
composition/delegation schemes.  And of course, everyone
has their own ways to slice'n'dice design problems.

- Dave

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS