Добрый день, уважаемые!
Я постоянно что-то читаю по проектированию, но навыков проектирования у меня так и нет. Это как с английским, который я до недавнего времени изучал таким же образом. Знаю много правил и слов, а говорить не умею. Пришёл к выводу, что пока не спроектируешь чего нибудь, не научишься. Решил сначала спроектировать простую консольную игру. Но с первых же шагов натыкаюсь на проблемы, которые непонятно как решать. Где-то помогают паттерны (например MVC), а где-то непонятно как быть.
Вопрос в том, какие шаги нужно пройти (книги изучить, примеры написать, почитать чего, в сообществе поучавствовать итп) для того, чтобы научиться таки грамотно проектировать программные системы? Через что прошли вы, прежде чем для вас открылся столь драгоценный навык?
Очень интересная литература. Спасибо!
Однако, недавно понял (осознал), проектирование архитектуры это не только знания, но и (чуть лине на пополам) навык. Я знаю о многих вещах, методологиях и принципах, но как только взялся проектировать несложное приложение, возникло очень много вопросов и проблем. Проблемы в основном появлялись очень глупые, типа создания ненужных сущностей, попытка с первого раза сделать идеальную программу (во всех смыслах этого слова), решение нескольких задач одновременно, усложнение кода итп.
Вот интересно, может есть курсы какие нибудь или сообщество, где можно "поговорить о наболевшем"?:) Поделиться опытом, понять где был не прав, перенять практики.
Единственный способ научиться хорошо проектировать - это проектировать. Чем больше пробуете, тем больше получается. Пока вы самостоятельно, в результате практики, не наступите на все подводные камни, никто за вас на них не наступит.
Самое лучшее место, в котором можно и нужно подсматривать интересные архитектурные решения в области ПО - это публикации ведущих IT-компаний. Для начала могу посоветовать: