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]


Reply via email to