CSC/ECE 517 Fall 2009/wiki1b 13 zz: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Bob Martin's Stable Dependencies Principle says, "The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is."
Bob Martin's Stable Dependencies Principle says, "The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is."


=Bob Martin=
==Bob Martin==


[http://today.java.net/pub/au/90 Robert C. Miller] defines the domain of [http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf design patterns] to be the architecture of systems modules (packages, classes and components) and their interconnections.  His design patterns address the four major reasons for failure of the systems:  rigidity, fragility, immobility and viscosity [http://www.objectmentor.com/resources/articles/oodmetrc.pdf].  
[http://today.java.net/pub/au/90 Robert C. Miller] defines the domain of [http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf design patterns] to be the architecture of systems modules (packages, classes and components) and their interconnections.  His design patterns address the four major reasons for failure of the systems:  rigidity, fragility, immobility and viscosity [http://www.objectmentor.com/resources/articles/oodmetrc.pdf].  
Line 15: Line 15:
The objective of this article is to discuss in detail Stable Dependencies Principle. Each of the four problems discussed above are caused by improper dependencies between the modules of the software. It is the dependency architecture that degrades the ability of the software to be maintained. The Stable Dependencies Principle is one of the principle which discusses its concern with coupling of packages, or the degree to which they rely on each other.
The objective of this article is to discuss in detail Stable Dependencies Principle. Each of the four problems discussed above are caused by improper dependencies between the modules of the software. It is the dependency architecture that degrades the ability of the software to be maintained. The Stable Dependencies Principle is one of the principle which discusses its concern with coupling of packages, or the degree to which they rely on each other.


=Stable Dependencies Principle=
==Stable Dependencies Principle==
<blockquote>
<blockquote>
Principle:
Principle:
''The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is.''
''The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is.''
</blockquote>
</blockquote>

Revision as of 17:24, 15 November 2009

Bob Martin's Stable Dependencies Principle says, "The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is."

Bob Martin

Robert C. Miller defines the domain of design patterns to be the architecture of systems modules (packages, classes and components) and their interconnections. His design patterns address the four major reasons for failure of the systems: rigidity, fragility, immobility and viscosity [1].

Following are the list of few design principles quoted by him to avoid the pitfalls associated with unsuccessful software engineering, Reuse/Release Equivalence Principle, Common Closure Principle, Common Reuse Principle, Acyclic Dependencies Principle, Staple Dependencies Principle, Stable Abstraction Principle.

The objective of this article is to discuss in detail Stable Dependencies Principle. Each of the four problems discussed above are caused by improper dependencies between the modules of the software. It is the dependency architecture that degrades the ability of the software to be maintained. The Stable Dependencies Principle is one of the principle which discusses its concern with coupling of packages, or the degree to which they rely on each other.

Stable Dependencies Principle

Principle: The dependencies between packages should be in the direction of the stability of the packages. A package should only depend upon packages that are more stable than it is.