This is great. Sometimes i just don't know when / whether to take the natural relationships "seriously" in a model, as in - Does a Newsletter have Recipients (Contacts), or does a Contact have a Subscription to a Newsletter. It's easy to get trapped in a sort of circular thinking and not have any clear pathway out of it in a case like this.
So what would just one of these methods look like? How would it work? AddContactToGroup() I don't quite get the implication in the diagram behind the (in contact : Contact, in group : Group) part, ... yet. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Roland Collins Sent: Friday, July 22, 2005 9:13 PM To: [email protected] Subject: RE: [CFCDev] Managers How about we start with some diagrams? The attached diagram is a very rough first pass at one way of tackling the problem. It treats each of the actors (contact, newsletter, group) as separate entities and then uses the Manager to deal with their interactions. This sounds like a candidate for some breeze-time :) Roland -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Nando Sent: Friday, July 22, 2005 1:27 PM To: [email protected] Subject: [CFCDev] Managers I'm quoting Jared here: *classically "manager" is not the same as "factory" - managers maintain the state of their composed members, factories just create them and hand them back to the caller* The part i'm interested is "managers maintain the state of their composed members". Practically, here's the situation i'm looking at. I have a visual mockup in front of me. It's a multistep process that essentially allows a user to add/edit a Contact. There's the usual names, address, phone, etc in there. Then, the Contact can optionally belong to a Group - or several Groups. So there's a series of checkboxes there with the Group names. That's pretty simple The Contact can also be put on a Campaign (a series of emails) or several Campaigns. Now here, although a campaign as a series of emails in itself doesn't change per contact recieving the Campaign, there are properties involved that do or can change - startingDate, frequency, designTemplate for instance. The Contact can also receive a Newsletter. At the moment, there's only one Newsletter and either they receive it or they don't - but there's talk in the air of the possibility of multiple Newsletters. I know for sure there's composition in the air. How would you approach modelling this if you had more OO experience than i do? How could a manager help make sense of these somewhat complex relationships? I always hit a foggy patch whenever i run across what seems like it should be a simple case of composition. It can be hard to tell who should be composed into whom. Any help here would be appreciated. thanks, Nando ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [email protected] with the words 'unsubscribe cfcdev' as the subject of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting (www.cfxhosting.com). CFCDev is supported by New Atlanta, makers of BlueDragon http://www.newatlanta.com/products/bluedragon/index.cfm 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 words 'unsubscribe cfcdev' as the subject of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting (www.cfxhosting.com). CFCDev is supported by New Atlanta, makers of BlueDragon http://www.newatlanta.com/products/bluedragon/index.cfm 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 words 'unsubscribe cfcdev' as the subject of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting (www.cfxhosting.com). CFCDev is supported by New Atlanta, makers of BlueDragon http://www.newatlanta.com/products/bluedragon/index.cfm An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
