Difference between revisions of "Cpp Coding Standards/DESIGN/DIP"
From Apache OpenOffice Wiki
m (Cpp Coding Standards/Design/DIP moved to Cpp Coding Standards/DESIGN/DIP: simplicity) |
B michaelsen (Talk | contribs) |
||
Line 6: | Line 6: | ||
See [http://www.objectmentor.com/resources/articles/dip.pdf the original article] for further explanation. | See [http://www.objectmentor.com/resources/articles/dip.pdf the original article] for further explanation. | ||
+ | [[Category:Coding Standards]] |
Latest revision as of 17:07, 14 December 2009
Dependency inversion principle (DIP):
- high-level modules should not depend on low-level ones. Instead, they should both depend on abstractions.
- abstractions should not depend on details, but details should depend on abstractions.
Implement DIP by using abstract interfaces (a class consisting of pure virtual functions only). Typically, provide a public virtual destructor to facilitate polymprphic deletion.
See the original article for further explanation.