Between different object-oriented design principles there are tensions and synergies.
A professional software developer should have an overall sense of all the forces at work in the code design when coding.
Ilias Bartolini developed a coding-dojo that a group of people can run multiple times to explore and develop a sense of the forces generated in the code by different design principles.
-
This is the repository with the code for the coding-dojo.
-
These are the instructions, the material and the facilitator’s guide
-
The group can document the tensions and the synergies experienced in the sessions of the coding-dojo, this is the template
-
This is an example of a graphical representation
In this repo you find small code examples, each showing a tension or a synergy between two object-oriented design principles.
If you have one more examples, or if you want to port these examples in other languages (i.e. Java, Ruby), make a pull request.