The Principles of Object Oriented Design


SRP

The Single Responsibility Principle

A class should have only one reason to change.

OCP

The Open-Closed Principle

Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.

LSP

The Liskov Substitution Principle

Subtypes must be substitutable for their base types.

DIP

The Dependency Inversion Principle

Abstractions should not depend upon details. Details should depend upon abstractions.

ISP

The Interface Segregation Principle

Clients should not be forced to depend upon methods that they do not use. Interfaces belong to clients, not to hierarchies.

REP

The Release-Reuse Equivalency Principle

The granule of reuse is the granule of release.

CCP

The Common Closure Principle

The classes in a package should be closed together against the same kinds of changes. A change that affects a closed package affects all the classes in that package and no other packages.

CRP

The Common Reuse Principle

The classes in a package are reused together. If you reuse one of the classes in a package, you reuse them all.

ADP

The Acyclic Dependencies Principle

Allow no cycles in the package dependency graph.

SDP

The Stable Dependencies Principle

Depend in the direction of stability.

SAP

The Stable Abstractions Principle

A package should be as abstract as it is stable.





Agile Principles, Patterns, and Practices in C#
Agile Principles, Patterns, and Practices in C#
ISBN: 0131857258
EAN: 2147483647
Year: 2006
Pages: 272

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net