Click here to Skip to main content
15,889,096 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Design Methods ? [moved] Pin
Jeremy Falcon10-Apr-08 8:59
professionalJeremy Falcon10-Apr-08 8:59 
GeneralRe: Design Methods ? [moved] Pin
Pete O'Hanlon10-Apr-08 9:04
mvePete O'Hanlon10-Apr-08 9:04 
GeneralRe: Design Methods ? [moved] Pin
Jeremy Falcon17-Apr-08 8:10
professionalJeremy Falcon17-Apr-08 8:10 
GeneralRe: Design Methods ? [moved] Pin
Pete O'Hanlon20-Apr-08 8:49
mvePete O'Hanlon20-Apr-08 8:49 
JokeRe: Design Methods ? [moved] Pin
Ri Qen-Sin18-Apr-08 2:28
Ri Qen-Sin18-Apr-08 2:28 
GeneralGood Design and Good Code Pin
jesarg9-Apr-08 10:07
jesarg9-Apr-08 10:07 
GeneralRe: Good Design and Good Code Pin
Pete O'Hanlon9-Apr-08 10:45
mvePete O'Hanlon9-Apr-08 10:45 
GeneralRe: Good Design and Good Code Pin
Philip Laureano9-Apr-08 13:51
Philip Laureano9-Apr-08 13:51 
jesarg wrote:
As smart as we might be, the cold reality is that no one is smart enough to make an initial design up front for a complex application until they've actually built something similar to verify that the design was, indeed, a good design. Just about any design can look good on paper to an entire review committee, but only designs that are based off past successful implementations of similar ideas can really be confidently considered "good".

Has anyone else ever been forced to come to this conclusion before?


That's happened to me in nearly every project that I've worked on, and so far, the only consistent design principle that seems to make the most sense is to keep it simple. Good design comes from continuous refactoring, and by the end of a project, a lot of my designs tend to be emergent rather than something intentional. More often than not, I usually prototype my ideas using standard structured programming techniques (without using any OOP mechanics, such as inheritance).

At first, the idea starts of as a very long and ugly static method in a single class, and then I usually use Fowler's classic Refactoring techniques to cut the size of the method down until it's broken down into static methods. At that point, it's still fairly useless since my code is still written to work with a particular prototype case, so the next thing I do is I refactor the static methods into interface dependencies and move the static implementations over to classes that serve as default implementations of those particular interfaces. The idea is to take the most straightforward approach to writing an application, and then refactor and generalize it so that you can extend it. TDD takes the same approach with its "test first" mantra, and this style of development has yet to fail me. (BTW if you want to look at some samples of my design work, click here.[^])

Now that I think about it, writing good code and having good design principles is like trying to sculpt a melting ice block in the middle of the desert. If you spend too much time thinking about what the design should look like, you'll end up with nothing but a puddle of water. If, on the other hand, you know exactly what you need to chip away in order for the ice sculpture to take shape, then all you have to do is constantly reshape it until the sculpture emerges from the ice block, and hopefully you can get it done before the ice melts...

Do you know...LinFu?

GeneralRe: Good Design and Good Code Pin
PIEBALDconsult16-Apr-08 4:58
mvePIEBALDconsult16-Apr-08 4:58 
GeneralAdapter as a design strategy Pin
Leslie Sanford6-Apr-08 0:22
Leslie Sanford6-Apr-08 0:22 
GeneralRe: Adapter as a design strategy Pin
Pete O'Hanlon6-Apr-08 9:05
mvePete O'Hanlon6-Apr-08 9:05 
GeneralRe: Adapter as a design strategy Pin
Leslie Sanford6-Apr-08 10:47
Leslie Sanford6-Apr-08 10:47 
GeneralRe: Adapter as a design strategy Pin
Sameerkumar Namdeo6-Apr-08 19:18
Sameerkumar Namdeo6-Apr-08 19:18 
QuestionCan you suggest some Compnent libraray for Business application development Pin
keencomputer4-Apr-08 20:40
keencomputer4-Apr-08 20:40 
AnswerRe: Can you suggest some Compnent libraray for Business application development Pin
Pete O'Hanlon6-Apr-08 9:03
mvePete O'Hanlon6-Apr-08 9:03 
GeneralRe: Can you suggest some Compnent libraray for Business application development Pin
Brady Kelly8-Apr-08 1:18
Brady Kelly8-Apr-08 1:18 
GeneralRe: Can you suggest some Compnent libraray for Business application development Pin
Pete O'Hanlon10-Apr-08 9:03
mvePete O'Hanlon10-Apr-08 9:03 
QuestionListView Scrollbar Crisis! Pin
Pathetic Logic1-Apr-08 20:37
Pathetic Logic1-Apr-08 20:37 
GeneralWrong forum Pin
Pete O'Hanlon1-Apr-08 21:50
mvePete O'Hanlon1-Apr-08 21:50 
GeneralRe: Wrong forum Pin
Pathetic Logic2-Apr-08 22:05
Pathetic Logic2-Apr-08 22:05 
GeneralRe: Wrong forum Pin
Pete O'Hanlon6-Apr-08 9:02
mvePete O'Hanlon6-Apr-08 9:02 
JokeRe: Wrong forum Pin
Leslie Sanford7-Apr-08 18:17
Leslie Sanford7-Apr-08 18:17 
QuestionNot sure if this makes sense, but.... what 'kind' of systems are there? Pin
SimonH7629-Mar-08 15:58
SimonH7629-Mar-08 15:58 
GeneralRe: Not sure if this makes sense, but.... what 'kind' of systems are there? Pin
led mike31-Mar-08 4:57
led mike31-Mar-08 4:57 
GeneralRe: Not sure if this makes sense, but.... what 'kind' of systems are there? Pin
SimonH761-Apr-08 4:31
SimonH761-Apr-08 4:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.