"Scott R. Godin" writes:

[snip disucssion of iheriting from a mailing class]

>
>what would I like to do with the Subscriber?
>
>  o send them a welcome mailing
>     o snailmail - add them to tommorow's list of mailing labels along 
>with a marker to the correct template
>     o e-mail - send them a greeting using the welcome template
>  o add them to a database
>  o retrieve them from a database
>     o based on certain criterion, send them monthly mailings of special 
>events
>     o based on certain criterion, send them coupons on birthday or 
>anniversary


But that doesn't mean you inherit from an address label printing class, an
emailing class, a database class, a special events class and a birthday
and anniversary class.

You simply use such classes to perform each task.

Now, some classes have APIs such that you have to subclass in order to
use them (many XML parser classes for example) but emailing classes
tend not to. When you want to send an email you create the email object
populate the address, subject,  body, etc. and call the method that
send the email.

I suspect this is off topic, it's standard OO methodology - the same as in
java, python, C++, <insert favourite OO language here>.

Only inherit when you have an ISA relationship. You don't seem to, you
just want to use the API of a class - after all you could use a non-OO
email module in the same way...

Are you planning on inheriting from DBI in order to get database
functionality?

-- 
Sam Holden


Reply via email to