Sean,
Yes it does, and with some different naming conventions it's exactly
what I've built so far. Maybe I'm finally starting to 'get' some of this.
Thanks for all the help - at least for me, OO design become much clearer
when discussed in terms of 'real' business applications.
Walt
-----Original Message-----
From: Sean A Corfield [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 25, 2003 2:44 PM
To: [EMAIL PROTECTED]
Subject: Re: [CFCDev] [follow-on] Using components
On Nov 25, 2003, at 7:42 AM, Sparrow-Hood, Walter wrote:
> The applications on this site are tools for
> both employees and other business partners (contractors, distributors,
> etc.), i.e. the Groups. Each Group is a separate concrete CFC because,
> while their Members have some properties in common (name, phone #,
> etc.),
> they each have their own set of unique properties.
OK, that further suggests that these are your "roles" and might have a
hierarchy like this:
Group - contains common properties if any
Contractors - extends Group
Distributors - extends Group
etc
Then you have:
Member - role, name, phone # etc
role is a reference to a Group (actually a specific instance such as
Contractors or Distributors or...).
Note: if a member can be in multiple groups, role would be an array of
those groups.
> In addition, a contractor may choose to
> view their own status on-line, so they can register and become a User.
> The
> criteria for authorization to register is that they are a Member of
> their
> corresponding Group so that a User is always a Member but a Member may
> not
> be a User. So... a User is a Member with some additional properties
> (userID, preferred language, etc.).
User - extends Member, adds userID, preferred language etc
> In terms of your comment about substitutability - they are generally
> substitutable but I can't think of a case where I would.
I meant that wherever your app uses an instance of the Member CFC, it
could use an instance of the User CFC without noticing - sort of
theoretical substitution.
> I hope I didn't confuse things further.
Good clarification thanks!
Does the class model described above make sense?
Sean A Corfield -- http://www.corfield.org/blog/
"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at
www.mail-archive.com/[EMAIL PROTECTED]
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev'
in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]