BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

For Jim :)

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi OO design
View previous topic :: View next topic  
Author Message
Iman L Crawford
Guest





PostPosted: Thu Feb 24, 2005 7:35 pm    Post subject: For Jim :) Reply with quote



I thought you might appreciate this WTF.

http://thedailywtf.com/ShowPost.aspx?PostID=30308

--
Iman


Back to top
Eric Hill
Guest





PostPosted: Thu Feb 24, 2005 9:01 pm    Post subject: Re: For Jim :) Reply with quote



Quote:
I thought you might appreciate this WTF.

http://thedailywtf.com/ShowPost.aspx?PostID=30308

Yikes. Talk about an over-achieving class. Delegate, delegate, delegate.

Eric



Back to top
Jim Cooper
Guest





PostPosted: Thu Feb 24, 2005 9:14 pm    Post subject: Re: For Jim :) Reply with quote





Quote:
I thought you might appreciate this WTF.

Thanks, yes I do :-)


Cheers,
Jim Cooper

__________________________________________

Jim Cooper [email]jcooper (AT) tabdee (DOT) ltd.uk[/email]
Tabdee Ltd http://www.tabdee.ltd.uk

TurboSync - Connecting Delphi to your Palm
__________________________________________

Back to top
Rudy Velthuis [TeamB]
Guest





PostPosted: Thu Feb 24, 2005 9:35 pm    Post subject: Re: For Jim :) Reply with quote

Eric Hill wrote:

Quote:
I thought you might appreciate this WTF.

http://thedailywtf.com/ShowPost.aspx?PostID=30308

Yikes. Talk about an over-achieving class. Delegate, delegate,
delegate.

It might actually delegate most of these to contained classes. <g>

One similar example is the ToolsAPI's BorlandIDEServices.

--
Rudy Velthuis [TeamB] http://rvelthuis.bei.t-online.de

"God gave men both a penis and a brain, but unfortunately not enough
blood
supply to run both at the same time."
-- Robin Williams, commenting on the Clinton/Lewinsky affair

Back to top
Jim Cooper
Guest





PostPosted: Thu Feb 24, 2005 11:21 pm    Post subject: Re: For Jim :) Reply with quote


Quote:
It might actually delegate most of these to contained classes.

And yet still be a bad, bad idea :-)

Quote:
One similar example is the ToolsAPI's BorlandIDEServices.

QED :-)


Cheers,
Jim Cooper

__________________________________________

Jim Cooper [email]jcooper (AT) tabdee (DOT) ltd.uk[/email]
Tabdee Ltd http://www.tabdee.ltd.uk

TurboSync - Connecting Delphi to your Palm
__________________________________________

Back to top
Bob Dawson
Guest





PostPosted: Fri Feb 25, 2005 1:48 pm    Post subject: Re: For Jim :) Reply with quote


"Iman L Crawford" wrote
Quote:

http://thedailywtf.com/ShowPost.aspx?PostID=30308


<CONTRARIAN MODE=ON>

I'm going to defend the class...

What you're all ignoring is that it's likely a passive listener--hooking
into all the event systems in the application to roll them into a single,
traceable stream. From the name I'd guess as output to a debug window, but
might also be switchable to write to a trace file, etc. It's not an actor
playing too many roles, but a courtroom stenographer--VERY handy for
debugging actual program flow. The number of channels it has to listen to is
an indication of just how granular the system design actually is.

In fact, if there's a criticism anywhere, it's not in this class (which is a
consolidator in nature and intent), but rather in that so many different
messaging interfaces have been written. Could not all these listening
interfaces have been reduced to a few generic signatures, leaving the
various channels (DeleteScheduleListener, RefreshScheduleListListener, etc.)
as simply deployment instances of a common interface, rather than descrete
interface types? Answer to that is in the information richness/details of
the interfaces.

bobD



Back to top
Jim Cooper
Guest





PostPosted: Fri Feb 25, 2005 2:24 pm    Post subject: Re: For Jim :) Reply with quote


Quote:
What you're all ignoring is that it's likely a passive listener

I don't think it matters. As you say, the problem is bigger than this
one class, but this class is definitely an indicator that things have
gotten quite out of hand.

Like I have often said, too many interfaces implemented in one class is
a bad smell. I was thinking of 4 or 5 as way too many though, not 18 or
whatever this one has :-)



Cheers,
Jim Cooper

__________________________________________

Jim Cooper [email]jcooper (AT) tabdee (DOT) ltd.uk[/email]
Tabdee Ltd http://www.tabdee.ltd.uk

TurboSync - Connecting Delphi to your Palm
__________________________________________

Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi OO design All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.