Clean Coder Blog
1. Two Values of Software
2. Programming Paradigms
3. Design Principles (SOLID)
4. Component Principles
5. Architecture
6. Details