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
etcThen 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]
