Bob Martin's principles
From CSSEMediaWiki
(Difference between revisions)
m (New page: See http://www.tek271.com/articles/pood/PrinciplesOfOOD.java.html Principles Of Object Oriented Design for examples.) |
|||
Line 1: | Line 1: | ||
− | See [[http://www.tek271.com/articles/pood/PrinciplesOfOOD.java.html Principles Of Object Oriented Design]] for examples. | + | |
+ | |||
+ | There are six papers that describe all of these principles. They can be found The first four papers are named for the first four principles below, the final two papers cover the other six principles and are named "Granularity" and "Stability". | ||
+ | |||
+ | |||
+ | '''Bob Martin's Principles of OOD''' | ||
+ | |||
+ | Martin does not claim to have invented the ideas he writes about, but he is amolng their foremost articulators. | ||
+ | |||
+ | Martin's articles can be found in the resources section of [[http://www.objectmentor.com/|Object Mentor]]. | ||
+ | |||
+ | == Principles of class design == | ||
+ | * (SRP) The [[Single responsibility principle]] | ||
+ | * (OCP) The [[Open closed principle]] | ||
+ | * (LSP) The [[Liskov substitution principle]] | ||
+ | * (ISP) The [[Interface segregation principle]] | ||
+ | * (DIP) The [[Dependency inversion principle]] | ||
+ | |||
+ | The five principles above are known as SOLID (from their first letters). | ||
+ | |||
+ | == Principles of package cohesion == | ||
+ | * (REP) The [[Reuse release equivalence principle]] | ||
+ | * (CCP) The [[Common closure principle]] | ||
+ | * (CRP) The [[Common reuse principle]] | ||
+ | |||
+ | == Principles of package coupling == | ||
+ | * (ADP) The [[Acyclic dependencies principle]] | ||
+ | * (SDP) The [[Stable dependencies principle]] | ||
+ | * (SAP) The [[Stable abstractions principle]] | ||
+ | |||
+ | == See also == | ||
+ | * [[Bob Martin]] | ||
+ | * A very nice presentation from Bob Martin on the SOLID principles:[[http://www.infoq.com/presentations/principles-agile-oo-design|The Principles of Agile Designs]] | ||
+ | * [[http://www.tek271.com/articles/pood/PrinciplesOfOOD.java.html Principles Of Object Oriented Design]] for examples. |
Revision as of 02:44, 20 August 2008
There are six papers that describe all of these principles. They can be found The first four papers are named for the first four principles below, the final two papers cover the other six principles and are named "Granularity" and "Stability".
Bob Martin's Principles of OOD
Martin does not claim to have invented the ideas he writes about, but he is amolng their foremost articulators.
Martin's articles can be found in the resources section of [Mentor].
Contents |
Principles of class design
- (SRP) The Single responsibility principle
- (OCP) The Open closed principle
- (LSP) The Liskov substitution principle
- (ISP) The Interface segregation principle
- (DIP) The Dependency inversion principle
The five principles above are known as SOLID (from their first letters).
Principles of package cohesion
- (REP) The Reuse release equivalence principle
- (CCP) The Common closure principle
- (CRP) The Common reuse principle
Principles of package coupling
- (ADP) The Acyclic dependencies principle
- (SDP) The Stable dependencies principle
- (SAP) The Stable abstractions principle
See also
- Bob Martin
- A very nice presentation from Bob Martin on the SOLID principles:[Principles of Agile Designs]
- [Principles Of Object Oriented Design] for examples.