Depending upon how it was written, a component that assumed it was turned on would probably play well with any other component. It would only be your components taking advantage of loose typing or mixins that wouldn't work if strong typing and/or interfaces was turned on as they'd be shot down by the psuedo-compiler for returning incorrect data types or calling illegal methods on a class.
The fact is that components only take you so far for reuse anyway. Even if you use strong typing and interfaces, components don't specify how errors are handled, they don't explicitly document preconditions and postconditions, they don't explain the structure or semantic meaning of data passed (great - I have a struct - but what does each of the keys mean?!). The rules for strongly typed classes decrease the number of sticking points for reuse and clarify the interfaces between objects, but they don't fully describe the interfaces to the components. That's one of the biggest reasons we generate code instead of writing it - the interfaces between classes aren't semantically rich enough to capture all of the information required to successfully interact with them in a truly reusable black box manner. Best Wishes, Peter SystemsForge -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrick McElhaney Sent: Thursday, April 06, 2006 3:49 PM To: [email protected] Subject: SPAM-LOW: Re: [CFCDev] Mixins vs. Interfaces On 4/3/06, Gary Menzel <[EMAIL PROTECTED]> wrote: > ..... strong typing could easily be an option that could be enabled or > disabled by a setting (either through a tag or through the CF > Administrator) even in complete isolation to interfaces ..... If programmers ruled the world, we wouldn't need law. Every dispute would be settled by introducing another setting. ;-) What if I want to use a component that assumes the setting is turned on but the rest of my app assumes it's turned off? Patrick -- Patrick McElhaney 704.560.9117 http://pmcelhaney.weblogs.us ---------------------------------------------------------- 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). 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). An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
