Design maxims

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
m (Formatting bullets etc)
m (Adding links etc)
Line 61: Line 61:
 
'''Clumps of maxims'''
 
'''Clumps of maxims'''
 
* [[Johnson and Foote's heuristics]]:
 
* [[Johnson and Foote's heuristics]]:
** Recursion introduction.
+
** [[Recursion introduction]]
** Eliminate case analysis.
+
** [[Eliminate case analysis]]
** Reduce the number of arguments.
+
** [[Reduce the number of arguments]]
** Reduce the size of methods.
+
** [[Reduce the size of methods]]
** ClassHierarchiesShouldBeDeepAndNarrow.
+
** [[Class hierarchies should be deep and narrow]]
** TheTopOfTheClassHierarchyShouldBeAbstract.
+
** [[The top of the class hierarchy should be abstract]]
** MinimizeAccessesToVariables.
+
** [[Minimize accesses to variables]]
** SubclassesShouldBeSpecializations.
+
** [[Subclasses should be specializations]]
** SplitLargeClasses.
+
** [[Split large classes]]
** FactorImplementationDifferencesIntoSubcomponents.
+
** [[Factor implementation differences into subcomponents]]
** SeparateMethodsThatDoNotCommunicate.
+
** [[Separate methods that do not communicate]]
** SendMessagesToComponentsInsteadOfToSelf.
+
** [[Send messages to components instead of to self]]
** ReduceImplicitParameterPassing
+
** [[Reduce implicit parameter passing]]
* RielsHeuristics:
+
* [[Riel's heuristics]]
 
* BobMartinsPrinciples:
 
* BobMartinsPrinciples:
 
** (SRP) The SingleResponsibilityPrinciple
 
** (SRP) The SingleResponsibilityPrinciple

Revision as of 02:15, 27 July 2008

Object oriented design maxims

maxim:: (noun) A general truth or rule of conduct expressed in a sentence.

Lets use the term maxim to mean all the rules, laws, guidelines, principles, heuristics, strategies, patterns and idioms that are named by a standard phrase.

Maxims

Clumps of maxims

Personal tools