Wrox Home  
Search P2P Archive for: Go

  Return to Index  

pro_java_server thread: Re: The Importance of Design


Message #1 by "Danny Ayers" <danny_ayers@y...> on Sat, 3 Jun 2000 1:7:50
Hi,
I'm usually not one for debates, unless it's midnight and I've got a glass 
of beer in my hand (which it is, and I have :-) so here is my two-penneth 
:
When designing an application, there are quite a few considerations, 
notably resources (human time etc.), how much robustness is needed, how 
much extensibility is needed, and a major issue - support. The use of 
systems like UML are very effective in all these respects, apart from 
design time - sometimes a dodgy 10 minute Delphi hack might do the trick.
Java is a beauty of a language as to some extent it forces good design 
practice (perhaps not as much as even stricter OO languages - Smalltalk, 
Eiffel etc). Having said that, there still needs to be some thought towards 
patterns and so on - abstracting the application as much as possible can 
make life easier later on. I've done quick hacks where everything is in the 
same .java file, then later returned to make a minor change and not 
recognised my own handwriting.  If I bothered even just to split up into 
Model-Controller-View (just 3 files!) life would have been considerably 
easier.
Quick thoughts :
The best stuff I've read about Rapid Application Development firmly states 
that you totally scrap your first prototype.
Scalability should be inherent from the start, but usually things like 
concurrency issues screw this up.
The best point about design I can think of is *documentation* - if you've 
made good notes in whatever system, you (or someone else) can always build 
on these.

BTW - I've just been reading a related book - 'Java Design Patterns' by 
James W. Cooper (don't buy it -it's not from Wrox!) which has the 23 
patterns in the classic 'Design Patterns' book (four of 'em wrote it...) 
expressed in Java, in nice easy readable terms.

Not much for debate, but my glass is getting empty...

Cheers,
Danny.


 

  Return to Index