Время от времени на форумах по программированию всплывает вопрос о том, что такое хороший дизайн проекта. В одной из наиболее любимых мной книг Agile Principles, Patterns, and Practices in C# - by Robert C. Martin автор приводит признаки плохого дизайна (если переводить более дословно – “запахи загнивающего проекта”).