This repository contains OOP approaches with theirs use cases. So that you can understand why and when you would need this approach, how it solved the problem.
Repository's file hierarchy:
when-to-use
├── approach-name (solution's name, the methodology we use etc ...)
│ ├── README.md (it explains what is this approach, how you could etc)
│ ├── use-case-1 (first use case of this approach. which contains example code)
│ │ ├── README.md (it explains what was the problem, how we solved it. It's explained as step-by-step)
│ │ └── src (contains source files)
│ ├── use-case-2
│ │ ├── README.md
│ │ └── src
│ ...
...
NOTE: All the other README.mds except this one, are in Turkish. They will be translated into English.