Ваш город
Москва
Ваш город Москва?
+7 928 117-10-37
Отдел продаж
Режим работы:
Пн-Сб 10:00—18:00;
Вс выходной
КАТАЛОГ ТОВАРОВ
0КорзинаПусто0 руб.
Товары в корзине
корзина пуста
КАТАЛОГ ТОВАРОВ
Корзина пуста0 руб.0
Товары в корзине
корзина пуста
Корзина пуста0 руб.0
Товары в корзине
корзина пуста

Чистая архитектура. Искусство разработки программного обеспечения

Чистая архитектура. Искусство разработки программного обеспечения
«Идеальный программист» и «Чистый код» — легендарные бестселлеры Роберта Мартина — рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для вашего успеха...
Характеристики
Автор(ы):
Роберт Мартин
Издательство:
Питер
Год издания:
2021
Кол-во страниц:
352
Переплёт:
Мягкий
Смотреть все
Получение информации о методах доставки
Код: 17848
Нет в наличии
832
Количество:
Избранное
Сравнение
Описание

«Идеальный программист» и «Чистый код» — легендарные бестселлеры Роберта Мартина — рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для вашего успеха.

Роберт Мартин дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. «Чистую архитектуру» обязаны прочитать разработчики всех уровней, системные аналитики, архитекторы и каждый программист, который желает подняться по карьерной лестнице или хотя бы повлиять на людей, которые занимаются данной работой.

Все архитектуры подчиняются одним и тем же правилам!
Роберт Мартин (дядюшка Боб)


Характеристики
Автор(ы)
Роберт Мартин
Переводчик
А. Кисилев
Издательство
Питер
Серия
Библиотека программиста
Год издания
2021
ISBN
978-5-4461-0772-8
Возрастное ограничение
16+
Кол-во страниц
352
Формат страниц
70x100/16 (170x240 мм)
Размеры товара
234 × 167 × 17 мм
Язык
Русский
Переплёт
Мягкий
Доп. сведения
Офсетная бумага
Иллюстрации
черно-белые
Тираж
2000 экз. (доп.)
Вес
470 г
Отзывы

Loading...
Оглавление

Предисловие 14

От издательства . 17
Вступление 18
Благодарности 21
Об авторе 22
Часть I. Введение 23
Глава 1. Что такое дизайн и архитектура? . . 25
Цель? 26
Пример из практики 27
Заключение 33
Глава 2. История о двух ценностях . . 35
Поведение . 36
Архитектура . 36
Наибольшая ценность . 37
Матрица Эйзенхауэра . 38
Битва за архитектуру 39
Часть II. Начальные основы: парадигмы программирования . . . . 41
Глава 3. Обзор парадигм . 43
Структурное программирование . 44
Объектно-ориентированное программирование . 44
Функциональное программирование 45
Пища для ума . 45
Заключение 46
Глава 4. Структурное программирование . . 47
Доказательство 48
Объявление вредным 50
Функциональная декомпозиция . 51
Формальные доказательства отсутствуют . 51
Наука во спасение 52
Тестирование 52
Заключение 53
Глава 5. Объектно-ориентированное программирование . . 54
Инкапсуляция? . 55
Наследование? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Полиморфизм? 60
Заключение 66
Глава 6. Функциональное программирование . . 67
Квадраты целых чисел 68
Неизменяемость и архитектура . 69
Ограничение изменяемости 70
Регистрация событий 72
Заключение 73
Часть III. Принципы дизайна 75
Глава 7. Принцип единственной ответственности . . 78
Признак 1: непреднамеренное дублирование . 80
Признак 2: слияния 81
Решения . 82
Заключение 84
Глава 8. Принцип открытости/закрытости . . 85
Мысленный эксперимент 86
Управление направлением 90
Сокрытие информации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Заключение 90
Глава 9. Принцип подстановки Барбары Лисков . . 91
Руководство по использованию наследования 92
Проблема квадрат/прямоугольник 92
Содержание 7
LSP и архитектура 93
Пример нарушения LSP . 94
Заключение 95
Глава 10. Принцип разделения интерфейсов . . 96
Принцип разделения интерфейсов и язык 98
Принцип разделения интерфейсов и архитектура 98
Заключение 99
Глава 11. Принцип инверсии зависимости . . 100
Стабильные абстракции . 101
Фабрики 102
Конкретные компоненты . 104
Заключение 104
Часть IV. Принципы организации компонентов . . . . . . . . . . . . . . . 105
Глава 12. Компоненты . 106
Краткая история компонентов . 107
Перемещаемость . 110
Компоновщики 110
Заключение 112
Глава 13. Связность компонентов . . 113
Принцип эквивалентности повторного использования
и выпусков 114
Принцип согласованного изменения . 115
Принцип совместного повторного использования . 117
Диаграмма противоречий для определения связности
компонентов . 118
Заключение 119
Глава 14. Сочетаемость компонентов . . 121
Принцип ацикличности зависимостей . 122
Проектирование сверху вниз 128
Принцип устойчивых зависимостей 129
Принцип устойчивости абстракций . 135
Заключение 142
Часть V. Архитектура 143
Глава 15. Что такое архитектура . . 144
Разработка 146
Развертывание . 146
Эффективность работы 147
Сопровождение . 148
Сохранение разнообразия вариантов 148
Независимость от устройства 150
Нежелательная почта 152
Физическая адресация 153
Заключение 154
Глава 16. Независимость . . 155
Варианты использования 156
Эффективность работы 156
Разработка 157
Развертывание . 157
Сохранение разнообразия вариантов 158
Разделение уровней . 158
Разделение вариантов использования 159
Режим разделения 160
Возможность независимой разработки . 161
Возможность независимого развертывания 161
Дублирование 162
Режимы разделения (еще раз) . 163
Заключение 165
Глава 17. Границы: проведение разделяющих линий . 166
Пара печальных историй . 167
FitNesse 170
Какие границы проводить и когда? 172
О вводе и выводе 175
Архитектура с плагинами 176
Аргумент в пользу плагинов . 177
Заключение 178
Глава 18. Анатомия границ . 179
Пересечение границ . 180
Ужасный монолит 180
Компоненты развертывания . 182
Потоки выполнения 183
Локальные процессы . 183
Службы 184
Заключение 185
Глава 19. Политика и уровень . 186
Уровень 187
Заключение 190
Глава 20. Бизнес-правила . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Сущности 192
Варианты использования 193
Модели запросов и ответов . 195
Заключение 196
Глава 21. Кричащая архитектура . 197
Тема архитектуры . 198
Цель архитектуры 199
А что насчет Веб? 199
Фреймворки — это инструменты, а не образ жизни . 200
Тестируемые архитектуры . 200
Заключение 201
Глава 22. Чистая архитектура . . 202
Правило зависимостей . 204
Типичный сценарий . 208
Заключение 209
Глава 23. Презентаторы и скромные объекты . . 210
Шаблон «Скромный объект» . 211
Презентаторы и представления . 211
Тестирование и архитектура . 212
Шлюзы к базам данных 212
Преобразователи данных . 213
Службы 214
Заключение 214
Глава 24. Неполные границы . . 215
Пропустить последний шаг . 216
Одномерные границы . 217
Фасады . 217
Заключение 218
Глава 25. Уровни и границы . . 219
Охота на Вампуса . 220
Чистая архитектура? . 221
Пересечение потоков . 224
Разбиение потоков . 224
Заключение 226
Глава 26. Главный компонент . 228
Конечная деталь 229
Заключение 232
Глава 27. Службы: большие и малые . 233
Сервисная архитектура? 234
Преимущества служб? 234
Проблема с животными 236
Спасение в объектах 238
Службы на основе компонентов 239
Сквозные задачи . 240
Заключение 241
Глава 28. Границы тестов . . 242
Тесты как компоненты системы 243
Проектирование для простоты тестирования . 244
Программный интерфейс для тестирования . 245
Безопасность 245
Заключение 246

Глава 29. Чистая встраиваемая архитектура . . 247
Тест на профпригодность . 250
Привязка к оборудованию — узкое место 253
Заключение 264
Часть VI. Детали . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Глава 30. База данных — это деталь . 266
Реляционные базы данных 267
Почему системы баз данных настолько распространены? . 268
Сохранятся ли диски? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Детали 270
А производительность? 270
История . 270
Заключение 272
Глава 31. Веб — это деталь . . 273
Бесконечный маятник 274
Вывод 276
Заключение 277
Глава 32. Фреймворки — это деталь . . 278
Авторы фреймворков 279
Неравный брак 279
Риски 280
Решение . 280
Объявляю вас . 281
Заключение 281
Глава 33. Практический пример: продажа видео . . 282
Продукт 283
Анализ вариантов использования . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Компонентная архитектура 285
Управление зависимостями 286
Заключение 287
Глава 34. Недостающая глава . 288
Упаковка по уровням 289
Упаковка по особенностям 290
Порты и адаптеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Упаковка по компонентам . 293
Дьявол в деталях реализации . 298
Организация и инкапсуляция 299
Другие режимы разделения 302
Заключение: недостающий совет 304
Часть VII. Приложение 305
Архитектурная археология . . 306
Профсоюзная система учета . 307
Laser Trim 314
Контроль алюминиевого литья под давлением 318
4-TEL 319
Компьютер зоны обслуживания 324
Язык C 328
BOSS . 330
pCCU 331
DLU/DRU 333
VRS 335
Электронный секретарь . 338
Система командирования ремонтников . 340
ROSE 346
Регистрационные экзамены для архитекторов 348
Заключение 351

Рекомендуем посмотреть
Помощь
+7 928 117-10-37
Отдел продаж
Если у вас возникли вопросы при оформлении заказа, обратитесь по указанным контактам.
Мы используем файлы cookie, чтобы сайт был лучше для вас.