Chris Donnan : Programming – Brooklyn Style
software, trading, family, fun
Posted Developers, coding, patterns and principals, programming on Sunday, March 12th, 2006.
Object oriented software development is something that takes people time to get. Often I find myself pointing people to this this article to sum up why I am doing or something, why something feels right or wrong to me.
This is not a new article – I just find myself pointing people to this better explaination than I could give on more and more occasions.
Summary of principals:
The Open Closed Principle (OCP) ?
A module should be open for extension but closed for modification.The Liskov Substitution Principle (LSP) ?
Subclasses should be substitutable for their base classes.The Dependency Inversion Principle (DIP) ?
Depend upon Abstractions. Do not depend upon concretions.The Interface Segregation Principle (ISP) ?
Many client specific interfaces are better than one general purpose interfaceThe Release Reuse Equivalency Principle (REP) ?
The granule of reuse is the granule of release.The Common Closure Principle (CCP) ?
Classes that change together, belong together.The Common Reuse Principle (CRP) ?
Classes that aren’t reused together should not be grouped together.The Acyclic Dependencies Principle (ADP) ?
The dependencies betwen packages must not form cycles.The Stable Dependencies Principle (SDP) ?
Depend in the direction of stability.The Stable Abstractions Principle (SAP) ?
Stable packages should be abstract packages.
Comment on this post below
You must be logged in to post a comment.
You can leave a response, or trackback from your own site.







