Описание книги
Будучи написанной разработчиками для разработчиков, книга содержит уникальный набор актуальных методов разработки программного обеспечения. В ней рассматриваются объектно-ориентированное проектирование, UML, паттерны, приемы гибкого и экстремального программирования, а также приводится детальное описание полного процесса проектирования для многократно используемых программ на C++ и Java. С применением практического подхода к решению задач в книге показано, как разрабатывать объектно-ориентированное приложение - от ранних этапов анализа и низкоуровневого проектирования до этапа реализации. Читатели ознакомятся с мыслями разработчика - здесь представлены ошибки, тупики и творческие идеи, которые возникают в процессе проектирования программного обеспечения.
В книге раскрываются такие темы, как статика и динамика, принципы проектирования с использованием классов, управление сложностью, принципы проектирования с применением пакетов, анализ и проектирование, паттерны и пересечение парадигм. Друг за другом объясняются принципы объектно-ориентированного проектирования, которые затем демонстрируются на многочисленных примерах, полностью проработанных проектах и учебных примерах. Рассматриваются ловушки, подводные камни и обходные пути, встречающиеся во время применения языка C++ и объектно-ориентированного проектирования, после чего объясняются способы использования гибких методов.
Подробно обсуждаются методы проектирования и разработки крупных программных систем.
Книга предназначена для разработчиков программного обеспечения, программистов и аналитиков, стремящихся понять, как проектировать объектно-ориентированное ПО с помощью современных методов.
Автор бестселлеров и знаменитый эксперт в области разработки программного обеспечения Роберт С. Мартин показывает, как решать наиболее сложные проблемы, с которыми сталкиваются разработчики ПО, менеджеры проектов и ведущие инженеры программных проектов. Это всеобъемлющее и практическое руководство по гибкой разработке и экстремальному программированию, написанное одним из отцов-основателей гибкой разработки:
обучает разработчиков ПО и менеджеров проектов умению завершать проекты в срок и укладываться в выделенный бюджет, используя всю мощь гибкой разработки;
применяет реальные учебные примеры для демонстрации планирования, тестирования, рефакторинга и парного программирования, используя экстремальное программирование;
содержит обилие повторно используемого кода C++ и Java;
сосредоточена на решении задач в системах, ориентированных на заказчика, с применением UML и паттернов.