Не секрет, что сложность программного проекта нелинейно возрастает со временем его разработки. Некоторые проекты Citronium развиваются годами. Такие проекты требуют особого внимания к архитектуре и иного подхода к организации кода.
Вот некоторые книги, идеями из которых мы пользуемся:
1. Саймон Браун «Software architecture for developers» (2017) — дружественное разработчикам практичное руководство по архитектуре программного обеспечения при гибких методах разработки. Как собрать и сформулировать требования к системе, не раздуть документацию и при этом не упустить существенного.
2. Саймон Браун «Visualising Software Architecture» (2017) — вторая часть книги; практическое руководство по документированию и визуализации архитектуры. Какие архитектурные артефакты вам действительно пригодятся. Архитектура как карта кода проекта.
3. Грэди Буч «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» — классический учебник по принципам объектно-ориентированного проектирования. Сложная тема подается доступно и с прекрасными иллюстрациями.
4. Мартин Фаулер «Шаблоны корпоративных приложений» - обзор способов организации кода бизнес-логики приложений и набор типовых решений.
5. Эрик Эванс «Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем» (2010) — следующий шаг в развитии мысли ООП, системный предметно-ориентированный подход к проектированию программных систем и реализации бизнес-логики.
6. Вон Вернон «Реализация методов предметно-ориентированного проектирования» (2013) — практический пример реализации проекта с помощью подхода DDD.
7. Вон Вернон «Domain-Driven Design Distilled» (2017) — точный, понятный и практичный справочник по основам DDD. Фокусирует внимание на самой необходимой информации.