SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) is a mnemonic acronym introduced by Robert C. Martin which stands for five basic patterns of object-oriented programming and design in Agile Software Development. SOLID - SRP - Single Responsibility Principle (A class should have one, and only one, reason to change) OCP - Open Closed Principle (open for extension, but closed for modification) LSP - Liskov Substitution Principle (Derived classes must be substitutable for their base classes. if S is a subtype of T, then objects of type T in a program may be replaced with objects of type S without altering any of the desirable properties of that program) ISP - Interface Segregation Principle (Make fine grained interfaces that are client specific. clients should not be forced to implement interfaces they don't use) DIP - Dependency Inversion Principle (Depend on abstractions, not on concretions. High-level modules should not depend on low-level modules. Both should depend on abstractions.) ref: http://en.wikipedia.org/wiki/ http://butunclebob.com/ http://www.c2.com/cgi/wiki? Non-Software Design Patterns - http://cns2.uni.edu/~wallingf/ Interface Segregation Principle - http://www.objectmentor.com/ Pablo's SOLID Software Development - http://cdn.cloudfiles.mosso. Visitor Pattern - http://ootips.org/visitor-
Search this Blog:
SOLID Object Oriented Design
Houston Design Patterns (Visitor) - http://www.vincehuston.org/dp/VisitorDemosCpp
Acyclic Visitor - http://www.objectmentor.com/resources/articles/acv.pdf
Liskov Substitution Principle - http://www.objectmentor.com/resources/articles/lsp.pdf