This is a summary of the SOLID principles to be used as an index by the CodeCampSDQ 5.0 (2016) attendees.
Are you lost?
What is CodeCampSDQ?
Just a group of “idealistic dreamers” who think they can change the world, a CodeCampSDQ at once.
With the following mission (as of this writting)
The technical conference CodeCampSDQ tries to educate the community of professional Information Technology (IT) of the Dominican Republic, fostering a spirit of collaboration and sharing of knowledge for our attendees.
The conference official site is http://codecampsdq.com/ and Facebook page is https://www.facebook.com/CodeCampSDQ
Is the 5.0 (2016) a product version?
No, this means that is the event number five and happens on 2016.
What is SOLID?
Is a mnemonic acronym for five basic principles of object-oriented (OO) programming and design. The principles were stated by Uncle Bob (Robert C. Martin) in the early 2000s.
The initials stand for:
- S: Single responsibility principle (SRP)
- O: Open/closed principle (OCP)
- L: Liskov substitution principle (LSP)
- I: Interface segregation principle (ISP)
- D: Dependency inversion principle (DIP)
Extended version of each principle
I’ve done a summary of each principle presented in a problem-solution way. Each post has the following basic structure:
- Brief description of the principle
- A sample code not honoring the principle aka the Dirty version
- A rationalization about why the code is violating the principle, along with the proposed solution
- The solution presented as the Clean version, and
- Finally, and explanation about what is the relation of the principle with Agile Software Development
- SOLID Principles: SRP and DIP (1 of 4)
- SOLID Principles: OCP (2 of 4)
- SOLID Principles: LSP (3 of 4)
- SOLID Principles: ISP (4 of 4)
Some of them have small UML diagrams to help express the design.
Where is the code?
All code samples used on the four posts are in a single GitHub repo lsolano/blog.solid.demo