Чистая архитектура. Искусство разработки программного обеспечения
Book information
Description
«Идеальный программист» и «Чистый код» — легендарные бестселлеры Роберта Мартина — рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для вашего успеха. Роберт Мартин дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизай- на. «Чистую архитектуру» обязаны прочитать разработчики всех уровней, системные аналитики, архитекторы и каждый программист, который желает подняться по карьерной лестнице или хотя бы повлиять на людей, которые занимаются данной работой. Предисловие Вступление Благодарности Об авторе Часть I. Введение Глава 1. Что такое дизайн и архитектура? Цель? Пример из практики Заключение Глава 2. История о двух ценностях Поведение Архитектура Наибольшая ценность Матрица Эйзенхауэра Битва за архитектуру Часть II. Начальные основы: парадигмы программирования Глава 3. Обзор парадигм Структурное программирование Объектно-ориентированное программирование Функциональное программирование Пища для ума Заключение Глава 4. Структурное программирование Доказательство Объявление вредным Функциональная декомпозиция Формальные доказательства отсутствуют Наука во спасение Тестирование Заключение Глава 5. Объектно-ориентированное программирование Инкапсуляция? Наследование? Полиморфизм? Заключение Глава 6. Функциональное программирование Квадраты целых чисел Неизменяемость и архитектура Ограничение изменяемости Регистрация событий Заключение Часть III. Принципы дизайна Глава 7. Принцип единственной ответственности Признак 1: непреднамеренное дублирование Признак 2: слияния Решения Заключение Глава 8. Принцип открытости/закрытости Мысленный эксперимент Управление направлением Сокрытие информации Заключение Глава 9. Принцип подстановки Барбары Лисков Руководство по использованию наследования Проблема квадрат/прямоугольник LSP и архитектура Пример нарушения LSP Заключение Глава 10. Принцип разделения интерфейсов Принцип разделения интерфейсов и язык Принцип разделения интерфейсов и архитектура Заключение Глава 11. Принцип инверсии зависимости Стабильные абстракции Фабрики Конкретные компоненты Заключение Часть IV. Принципы организации компонентов Глава 12. Компоненты Краткая история компонентов Перемещаемость Компоновщики Заключение Глава 13. Связность компонентов Принцип эквивалентности повторного использования и выпусков Принцип согласованного изменения Принцип совместного повторного использования Диаграмма противоречий для определения связности компонентов Заключение Глава 14. Сочетаемость компонентов Принцип ацикличности зависимостей Проектирование сверху вниз Принцип устойчивых зависимостей Принцип устойчивости абстракций Заключение Часть V. Архитектура Глава 15. Что такое архитектура Разработка Развертывание Эффективность работы Сопровождение Сохранение разнообразия вариантов Независимость от устройства Нежелательная почта Физическая адресация Заключение Глава 16. Независимость Варианты использования Эффективность работы Разработка Развертывание Сохранение разнообразия вариантов Разделение уровней Разделение вариантов использования Режим разделения Возможность независимой разработки Возможность независимого развертывания Дублирование Режимы разделения (еще раз) Заключение Глава 17. Границы: проведение разделяющих линий Пара печальных историй FitNesse Какие линии проводить и когда? О вводе и выводе Архитектура с плагинами Аргумент в пользу плагинов Заключение Глава 18. Анатомия границ Пересечение границ Ужасный монолит Компоненты развертывания Потоки выполнения Локальные процессы Службы Заключение Глава 19. Политика и уровень Уровень Заключение Глава 20. Бизнес-правила Сущности Варианты использования Модели запросов и ответов Заключение Глава 21. Кричащая архитектура Тема архитектуры Цель архитектуры А что насчет Веб? Фреймворки — это инструменты, а не образ жизни Тестируемые архитектуры Заключение Глава 22. Чистая архитектура Правило зависимостей Типичный сценарий Заключение Глава 23. Презентаторы и скромные объекты Шаблон «Скромный объект» Презентаторы и представления Тестирование и архитектура Шлюзы к базам данных Преобразователи данных Службы Заключение Глава 24. Неполные границы Пропустить последний шаг Одномерные границы Фасады Заключение Глава 25. Уровни и границы Охота на Вампуса Чистая архитектура? Пересечение потоков Разбиение потоков Заключение Глава 26. Главный компонент Конечная деталь Заключение Глава 27. Службы: большие и малые Сервисная архитектура? Преимущества служб? Проблема с животными Спасение в объектах Службы на основе компонентов Сквозные задачи Заключение Глава 28. Границы тестов Тесты как компоненты системы Проектирование для простоты тестирования Программный интерфейс для тестирования Безопасность Заключение Глава 29. Чистая встраиваемая архитектура Тест на профпригодность Привязка к оборудованию — узкое место Заключение Часть VI. Детали Глава 30. База данных — это деталь Реляционные базы данных Почему системы баз данных настолько распространены? Сохранятся ли диски? Детали А производительность? История Заключение Глава 31. Веб — это деталь Бесконечный маятник Вывод Заключение Глава 32. Фреймворки — это деталь Авторы фреймворков Неравный брак Риски Решение Объявляю вас Заключение Глава 33. Практический пример: продажа видео Продукт Анализ вариантов использования Компонентная архитектура Управление зависимостями Заключение Глава 34. Недостающая глава Упаковка по уровням Упаковка по особенностям Порты и адаптеры Упаковка по компонентам Дьявол в деталях реализации Организация и инкапсуляция Другие режимы разделения Заключение: недостающий совет Часть VII. Приложение Архитектурная археология Профсоюзная система учета Laser Trim Контроль алюминиевого литья под давлением 4-TEL Компьютер зоны обслуживания Язык C BOSS pCCU DLU/DRU VRS Электронный секретарь Система командирования ремонтников ROSE Регистрационные экзамены для архитекторов Заключение
Similar books
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF
Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"
2022 · PDF
Философия. Учебно-методический комплекс дисциплины по направлениям подготовки: 51.03.03 (071800.62) «Социально-культурная деятельность», профили подготовки: «Социально-культурные технологии в индустрии досуга», «Менеджмент социально-культурной деятельности», «Менеджмент детско-юношеского досуга», «Постановка и продюсирование культурно-досуговых программ», «Социально-культурная анимация и рекреация»; 38.03.02 (080200.62) «Менеджмент», профили подготовки: «Управление человеческими ресурсами», «Управление малым бизнесом», квалификации (степень) выпускника – «бакалавр»
2014 · PDF
Проектирование устройств приема и обработки сигналов: учебно-методическое пособие по курсу "Устройства приема и обработки сигналов" для студентов всех форм обучения специальностей: 210400.62 Радиотехника. Бакалавр Б.3.10. Основы цифровой обработки сигналов; 210700.62 Системы мобильной связи. Бакалавр Б.3.19. Радиоприемные устройства систем мобильной связи; 210601.65 Радиоэлектронные системы и комплексы. Специалист С.3.18. Устройства приема и обработки сигналов; 090302.65 Защита информации в системах связи и управления. Специалист С.3.30. Устройства приема и обработки сигналов
2015 · PDF