Schools of thought
From CSSEMediaWiki
(Difference between revisions)
WarwickIrwin (Talk | contribs) (New page: This page is an attempt to make sense of the overwhelming morass of OOD advice by identifying differences in underlying design philosophies, which lead to conflicting maxims. == Reuse v...) |
m (Reverted edits by Ebybymic (Talk); changed back to last version by Matthew Harward) |
||
(16 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
This page is an attempt to make sense of the overwhelming morass of OOD advice by identifying differences in underlying design philosophies, which lead to conflicting maxims. | This page is an attempt to make sense of the overwhelming morass of OOD advice by identifying differences in underlying design philosophies, which lead to conflicting maxims. | ||
Line 5: | Line 4: | ||
The emergence of OO into the software mainstream was driven by [[Software reuse]], and this lead to a raft of maxims intended to encourage reusability. But reuse flopped. Today it isn't mentioned in polite company, and instead we say things like [[Do the simplest thing that could possibly work]] because [[You ain't gonna need it]]. | The emergence of OO into the software mainstream was driven by [[Software reuse]], and this lead to a raft of maxims intended to encourage reusability. But reuse flopped. Today it isn't mentioned in polite company, and instead we say things like [[Do the simplest thing that could possibly work]] because [[You ain't gonna need it]]. | ||
+ | |||
+ | In the 'Reuse' corner: | ||
+ | * [[Big design up front]] | ||
+ | * [[Software reuse]] | ||
+ | * [[Extensibility]] | ||
+ | |||
+ | In the 'DTSTTCPW' corner: | ||
+ | * [[You ain't gonna need it]] | ||
+ | * [[Do the simplest thing that could possibly work]] | ||
+ | * [[Refactoring]] | ||
+ | |||
+ | == One Ring to Rule Them All... == | ||
+ | |||
+ | ... one ring to find them | ||
+ | one ring to bring them all | ||
+ | and in the darkness bind them | ||
+ | |||
+ | What rule(s) underpin whole families of maxims? | ||
+ | |||
+ | * Wal: [[Managing complexity]] | ||
+ | * [[Kent Beck]]: [[Eliminate duplication]] | ||
+ | * [[Ralph Johnson]] & Foote ([[Johnson and Foote's heuristics]]): [[Software reuse]] | ||
+ | * [[David Parnas]]: [[Information hiding]] | ||
+ | * [[Bob Martin]]: [[Open closed principle]] | ||
+ | * [[Bertrand Meyer]]: [[DBC]] | ||
+ | * [[Coupling]] |
Latest revision as of 03:22, 25 November 2010
This page is an attempt to make sense of the overwhelming morass of OOD advice by identifying differences in underlying design philosophies, which lead to conflicting maxims.
Reuse vs DTSTTCPW
The emergence of OO into the software mainstream was driven by Software reuse, and this lead to a raft of maxims intended to encourage reusability. But reuse flopped. Today it isn't mentioned in polite company, and instead we say things like Do the simplest thing that could possibly work because You ain't gonna need it.
In the 'Reuse' corner:
In the 'DTSTTCPW' corner:
One Ring to Rule Them All...
... one ring to find them one ring to bring them all and in the darkness bind them
What rule(s) underpin whole families of maxims?