Локальне зображення обкладинки
Локальне зображення обкладинки

Предметно-ориентированное проектирование (DDD) : структуризация сложных программных систем / Эрик Эванс ; пер. с англ.: В. Л. Бродового

Перекладено з …: Еvаns, Eric = 2004 : Addison-Wesley Publishing Сompany, 978-0-321-12521-7Основний автор-особа: Эванс, Э., Эрик, АвторВторинний автор-особа: Перекладач, Бродов, В. Л.Мова: російська ; оригінал: англійська.Країна: РОСІЙСЬКА ФЕДЕРАЦІЯ.Вихідні дані: М. : Вильямс, 2017Опис: 443 с. : ил.ISBN: 978-5-8459-1942-7; 978-0-321-12521-7.Класифікація: 32.973.26-018.2.75 Э14 Примітки про зміст: Введение -- 17 Часть I. Модель предметной области в работе -- 27 Роль и выбор модели -- 29 Алгоритмическая часть программы -- 30 Глава 1. Переработка знаний -- 33 Составляющие эффективного моделирования -- 37 Переработка знаний -- 38 Непрерывное обучение -- 39 Информоемкая архитектура -- 40 Извлечение скрытого понятия -- 41 Углубленные модели -- 43 Глава 2. Коммуникация и язык -- 45 Единый язык -- 45 Моделирование вслух -- 50 Одна команда — один язык -- 51 Документация, диаграммы, схемы -- 53 Письменная проектная документация -- 55 Выполняемый код решает все -- 57 Пояснительные модели -- 58 Глава 3. Связь между моделью и реализацией -- 61 Проектирование по модели -- 62 Парадигмы моделирования и средства программирования -- 65 Анатомия модели: зачем модель нужна пользователю -- 71 Моделировщики-практики -- 72 Часть II. Структурные элементы ПРЕДМЕТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ -- 75 Глава 4. Изоляция предметной области -- 79 Многоуровневая архитектура -- 79 Связь между уровнями -- 83 Архитектурные среды -- 84 Уровень предметной области — вместилище модели -- 85 “Антишаблон” интеллектуального интерфейса пользователя -- 85 Другие виды изоляции -- 88 Глава 5. Модель, выраженная в программе -- 89 Ассоциации -- 90 Сущности (указуемые объекты) -- 95 Моделирование СУЩНОСТЕЙ -- 98 Проектирование операций идентификации -- 99 Объекты-значения -- 101 Проектирование ОБЪЕКТОВ-ЗНАЧЕНИЙ -- 103 Проектирование ассоциаций с помощью ОБЪЕКТОВ-ЗНАЧЕНИЙ -- 106 Службы -- 107 Службы и изоляция уровня предметной области -- 108 Степень модульности -- 110 Доступ к службам -- 110 Модули (пакеты) -- 111 Гибкая модульность -- 112 Ловушки инфраструктуры -- 114 Парадигмы моделирования -- 116 Причины доминирования объектной парадигмы -- 117 Не-объекты в объектном мире -- 119 Проектирование по модели в условиях смешения парадигм -- 119 Глава 6. Цикл существования объектов модели -- 123 Агрегаты -- 124 Фабрики -- 133 Выбор фабрик и их местонахождения -- 135 Когда достаточно конструктора -- 137 Проектирование интерфейса -- 138 Где реализовать логику инвариантов? -- 139 Отличия между фабриками сущностей и фабриками объектов-значений -- 139 Восстановление хранимых объектов -- 139 Хранилища -- 141 Запросы к хранилищам -- 145 Клиентам безразлична реализация хранилищ, а разработчикам нет -- 147 Реализация хранилища -- 147 Работа в рамках архитектурной среды -- 149 Связь с фабриками -- 149 Проектирование объектов для реляционной базы данных -- 151 Глава 7. Работа с языком: расширенный пример -- 153 Введение в систему управления доставкой -- 153 Изоляция предметной области: добавление прикладных операций -- 155 Отделение сущностей от значений -- 156 Роль и другие атрибуты -- 157 Проектирование ассоциаций в модели -- 157 Границы агрегатов -- 158 Выбор хранилищ -- 159 Проход по сценариям -- 160 Пример рабочей функции: изменение места назначения груза -- 160 Пример рабочей функции: повторение заказов -- 161 Создание объектов -- 162 Фабрики и конструкторы для объекта Груз -- 162 Добавление объекта Манипуляция -- 163 Перерыв на рефакторинг: альтернативный агрегат Груз -- 164 Модули в модели грузопоставок -- 166 Новая функция: распределение заказов -- 167 Связь между двумя системами -- 169 Усовершенствование модели: введение подразделений -- 170 Оптимизация быстродействия -- 172 Итоги -- 172 Часть III. Углубляющий рефакторинг -- 175 Уровни рефакторинга -- 176 Углубленные модели -- 177 Углубленная модель и гибкая архитектура -- 178 Процесс познания -- 179 Глава 8. Качественный скачок -- 181 История успеха -- 182 Модель неплоха, но... -- 182 Скачок -- 184 Углубленная модель -- 185 Трезвое решение -- 187 Воздаяние -- 188 Потенциал -- 188 Концентрация на основах -- 188 Каскад озарений -- 189 Глава 9. Перевод неявных понятий в явные -- 191 Извлечение понятий -- 191 Внимание к языку -- 191 Выявление узких мест -- 195 Размышление над противоречиями -- 199 Чтение книг -- 200 Метод проб и ошибок -- 202 Моделирование неочевидных понятий -- 202 Явные условия-ограничения -- 202 Процессы как объекты предметной области -- 204 Спецификация -- 205 Применение и реализация спецификаций -- 208 Глава 10. Гибкая архитектура -- 221 Информативные интерфейсы -- 223 Функции без побочных эффектов -- 226 Утверждения -- 231 Концептуальные контуры -- 234 Изолированные классы -- 238 Замкнутость операций -- 240 Декларативная архитектура -- 242 Декларативный стиль архитектуры -- 245 Углы атаки -- 252 Выделение подобластей -- 252 Использование сложившихся формальных систем -- 253 Глава 11. Применение аналитических шаблонов -- 263 Аналитические шаблоны как источник знания -- 274 Глава 12. Шаблоны и модель -- 275 Стратегия -- 276 Композит -- 279 Почему не “мелкий объект” (flyweight)? -- 284 Глава 13. Углубляющий рефакторинг -- 287 Инициирование -- 287 Исследовательские группы -- 288 Предыдущие наработки -- 288 Архитектура для разработчиков -- 289 Расчет времени -- 289 Кризис как потенциальная возможность -- 290 Часть IV. Стратегическое проектирование -- 291 Глава 14. Поддержание целостности модели -- 295 Ограниченный контекст -- 298 Распознавание дефектов внутри ограниченного контекста -- 301 Непрерывная интеграция -- 302 Карта контекстов -- 304 Тестирование в границах контекста -- 311 Организация и документирование карт контекстов -- 311 Взаимосвязи между ограниченными контекстами -- 311 Общее ядро -- 312 Группы “заказчик-поставщик” -- 313 Конформист -- 317 Предохранительный уровень -- 320 Проектирование интерфейса предохранительного уровня -- 321 Реализация предохранительного уровня -- 322 Поучительная история -- 324 Отдельное существование -- 325 Службы с открытым протоколом -- 327 Общедоступный язык -- 327 Унификация слона -- 330 Выбор стратегии построения контекстов -- 333 Уровень принятия решений: разработчики или выше -- 333 Помещение самих себя в контекст -- 333 Преобразование границ -- 334 Принятие того, что нельзя изменить: контуры внешних систем -- 334 Взаимоотношения с внешними системами -- 335 Проектируемая система -- 335 Учет особых случаев отдельными моделями -- 336 Установка системы -- 337 Компромиссы -- 337 Если проект уже в работе -- 338 Преобразования -- 339 Слияние контекстов: от отдельного существования к общему ядру -- 339 Слияние контекстов: от общего ядра к непрерывной интеграции -- 340 Вытеснение устаревшей системы -- 341 От открытого протокола к общедоступному языку -- 342 Глава 15. Дистилляция -- 345 Смысловое ядро -- 347 Выбор ядра -- 349 Как распределить работу -- 349 Эскалация дистилляции -- 350 Неспециализированные подобласти -- 351 “Неспециализированный” не значит “хорошо переносимый” -- 356 Управление рисками в проекте -- 357 Введение в предметную область -- 357 Схематическое ядро -- 359 Дистилляционный документ -- 360 Разметка ядра -- 361 Дистилляционный документ как методическое средство -- 362 Связные механизмы -- 362 Сравнение связных механизмов и неспециализированных подобластей -- 364 Когда механизм входит в смысловое ядро -- 365 Дистилляция к декларативному стилю -- 366 Выделенное ядро -- 366 Цена создания выделенного ядра -- 367 Эволюция коллективных решений -- 368 Абстрактное ядро -- 373 Дистилляция в углубленных моделях -- 374 Выбор целей рефакторинга -- 374 Глава 16. Крупномасштабная структура -- 375 Эволюционная организация -- 378 Метафорический образ системы -- 380 “Наивный образ”: почему он нам не нужен -- 382 Уровни разделения обязанностей -- 382 Выбор подходящих уровней -- 391 Уровень знаний -- 395 Среда подключаемых компонентов -- 402 Насколько жесткой должна быть структура -- 406 Структурирующий рефакторинг -- 407 Минимализм -- 408 Коммуникативность и самодисциплина -- 408 Реструктуризация дает гибкую архитектуру -- 408 Дистилляция -- 409 Глава 17. Объединение стратегических подходов -- 411 Сочетание крупномасштабных структур и ограниченных контекстов -- 411 Сочетание крупномасштабной структуры и дистилляции -- 414 Первоначальная оценка -- 415 Кому планировать стратегию -- 416 Самозарождение структуры в ходе разработки -- 416 Смежная группа по разработке архитектуры -- 417 Шесть принципов принятия решений при стратегическом проектировании -- 417 То же верно и для технических сред проектирования -- 420 Долой генеральный план -- 421 Заключение -- 423 Взгляд в будущее -- 427 Приложение. Использование шаблонов в этой книге -- 429 Глоссарий -- 433 Список литературы -- 437 Фотографии -- 438 Предметный указатель -- 439 Анотація: Классическая книга Э. Эванса освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Это переработка и структуризация знаний о предметных областях, применение типовых архитектурных шаблонов, построение и анализ моделей предметных областей, проектирование программных объектов с точки зрения качества их взаимодействия и передачи логической структуры знаний, организация программ на основе крупномасштабных структур.. Тип одиниці: Книги
Мітки з цієї бібліотеки: Немає міток з цієї бібліотеки для цієї назви. Ввійдіть, щоб додавати мітки.
Оцінки зірочками
    середня оцінка: 0.0 (0 голосів)
Фонди
Поточна бібліотека Шифр зберігання Стан Очікується на дату Штрих-код
Бібліотека Українського Гуманітарного Інституту Науковий фонд 681.3.07 / Э14 (Огляд полиці(Відкривається нижче)) Доступно (Немає обмежень доступу) 41683-003387

Введение 17 Часть I. Модель предметной области в работе 27 Роль и выбор модели 29 Алгоритмическая часть программы 30 Глава 1. Переработка знаний 33 Составляющие эффективного моделирования 37 Переработка знаний 38 Непрерывное обучение 39 Информоемкая архитектура 40 Извлечение скрытого понятия 41 Углубленные модели 43 Глава 2. Коммуникация и язык 45 Единый язык 45 Моделирование вслух 50 Одна команда — один язык 51 Документация, диаграммы, схемы 53 Письменная проектная документация 55 Выполняемый код решает все 57 Пояснительные модели 58 Глава 3. Связь между моделью и реализацией 61 Проектирование по модели 62 Парадигмы моделирования и средства программирования 65 Анатомия модели: зачем модель нужна пользователю 71 Моделировщики-практики 72 Часть II. Структурные элементы ПРЕДМЕТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ 75 Глава 4. Изоляция предметной области 79 Многоуровневая архитектура 79 Связь между уровнями 83 Архитектурные среды 84 Уровень предметной области — вместилище модели 85 “Антишаблон” интеллектуального интерфейса пользователя 85 Другие виды изоляции 88 Глава 5. Модель, выраженная в программе 89 Ассоциации 90 Сущности (указуемые объекты) 95 Моделирование СУЩНОСТЕЙ 98 Проектирование операций идентификации 99 Объекты-значения 101 Проектирование ОБЪЕКТОВ-ЗНАЧЕНИЙ 103 Проектирование ассоциаций с помощью ОБЪЕКТОВ-ЗНАЧЕНИЙ 106 Службы 107 Службы и изоляция уровня предметной области 108 Степень модульности 110 Доступ к службам 110 Модули (пакеты) 111 Гибкая модульность 112 Ловушки инфраструктуры 114 Парадигмы моделирования 116 Причины доминирования объектной парадигмы 117 Не-объекты в объектном мире 119 Проектирование по модели в условиях смешения парадигм 119 Глава 6. Цикл существования объектов модели 123 Агрегаты 124 Фабрики 133 Выбор фабрик и их местонахождения 135 Когда достаточно конструктора 137 Проектирование интерфейса 138 Где реализовать логику инвариантов? 139 Отличия между фабриками сущностей и фабриками объектов-значений 139 Восстановление хранимых объектов 139 Хранилища 141 Запросы к хранилищам 145 Клиентам безразлична реализация хранилищ, а разработчикам нет 147 Реализация хранилища 147 Работа в рамках архитектурной среды 149 Связь с фабриками 149 Проектирование объектов для реляционной базы данных 151 Глава 7. Работа с языком: расширенный пример 153 Введение в систему управления доставкой 153 Изоляция предметной области: добавление прикладных операций 155 Отделение сущностей от значений 156 Роль и другие атрибуты 157 Проектирование ассоциаций в модели 157 Границы агрегатов 158 Выбор хранилищ 159 Проход по сценариям 160 Пример рабочей функции: изменение места назначения груза 160 Пример рабочей функции: повторение заказов 161 Создание объектов 162 Фабрики и конструкторы для объекта Груз 162 Добавление объекта Манипуляция 163 Перерыв на рефакторинг: альтернативный агрегат Груз 164 Модули в модели грузопоставок 166 Новая функция: распределение заказов 167 Связь между двумя системами 169 Усовершенствование модели: введение подразделений 170 Оптимизация быстродействия 172 Итоги 172 Часть III. Углубляющий рефакторинг 175 Уровни рефакторинга 176 Углубленные модели 177 Углубленная модель и гибкая архитектура 178 Процесс познания 179 Глава 8. Качественный скачок 181 История успеха 182 Модель неплоха, но... 182 Скачок 184 Углубленная модель 185 Трезвое решение 187 Воздаяние 188 Потенциал 188 Концентрация на основах 188 Каскад озарений 189 Глава 9. Перевод неявных понятий в явные 191 Извлечение понятий 191 Внимание к языку 191 Выявление узких мест 195 Размышление над противоречиями 199 Чтение книг 200 Метод проб и ошибок 202 Моделирование неочевидных понятий 202 Явные условия-ограничения 202 Процессы как объекты предметной области 204 Спецификация 205 Применение и реализация спецификаций 208 Глава 10. Гибкая архитектура 221 Информативные интерфейсы 223 Функции без побочных эффектов 226 Утверждения 231 Концептуальные контуры 234 Изолированные классы 238 Замкнутость операций 240 Декларативная архитектура 242 Декларативный стиль архитектуры 245 Углы атаки 252 Выделение подобластей 252 Использование сложившихся формальных систем 253 Глава 11. Применение аналитических шаблонов 263 Аналитические шаблоны как источник знания 274 Глава 12. Шаблоны и модель 275 Стратегия 276 Композит 279 Почему не “мелкий объект” (flyweight)? 284 Глава 13. Углубляющий рефакторинг 287 Инициирование 287 Исследовательские группы 288 Предыдущие наработки 288 Архитектура для разработчиков 289 Расчет времени 289 Кризис как потенциальная возможность 290 Часть IV. Стратегическое проектирование 291 Глава 14. Поддержание целостности модели 295 Ограниченный контекст 298 Распознавание дефектов внутри ограниченного контекста 301 Непрерывная интеграция 302 Карта контекстов 304 Тестирование в границах контекста 311 Организация и документирование карт контекстов 311 Взаимосвязи между ограниченными контекстами 311 Общее ядро 312 Группы “заказчик-поставщик” 313 Конформист 317 Предохранительный уровень 320 Проектирование интерфейса предохранительного уровня 321 Реализация предохранительного уровня 322 Поучительная история 324 Отдельное существование 325 Службы с открытым протоколом 327 Общедоступный язык 327 Унификация слона 330 Выбор стратегии построения контекстов 333 Уровень принятия решений: разработчики или выше 333 Помещение самих себя в контекст 333 Преобразование границ 334 Принятие того, что нельзя изменить: контуры внешних систем 334 Взаимоотношения с внешними системами 335 Проектируемая система 335 Учет особых случаев отдельными моделями 336 Установка системы 337 Компромиссы 337 Если проект уже в работе 338 Преобразования 339 Слияние контекстов: от отдельного существования к общему ядру 339 Слияние контекстов: от общего ядра к непрерывной интеграции 340 Вытеснение устаревшей системы 341 От открытого протокола к общедоступному языку 342 Глава 15. Дистилляция 345 Смысловое ядро 347 Выбор ядра 349 Как распределить работу 349 Эскалация дистилляции 350 Неспециализированные подобласти 351 “Неспециализированный” не значит “хорошо переносимый” 356 Управление рисками в проекте 357 Введение в предметную область 357 Схематическое ядро 359 Дистилляционный документ 360 Разметка ядра 361 Дистилляционный документ как методическое средство 362 Связные механизмы 362 Сравнение связных механизмов и неспециализированных подобластей 364 Когда механизм входит в смысловое ядро 365 Дистилляция к декларативному стилю 366 Выделенное ядро 366 Цена создания выделенного ядра 367 Эволюция коллективных решений 368 Абстрактное ядро 373 Дистилляция в углубленных моделях 374 Выбор целей рефакторинга 374 Глава 16. Крупномасштабная структура 375 Эволюционная организация 378 Метафорический образ системы 380 “Наивный образ”: почему он нам не нужен 382 Уровни разделения обязанностей 382 Выбор подходящих уровней 391 Уровень знаний 395 Среда подключаемых компонентов 402 Насколько жесткой должна быть структура 406 Структурирующий рефакторинг 407 Минимализм 408 Коммуникативность и самодисциплина 408 Реструктуризация дает гибкую архитектуру 408 Дистилляция 409 Глава 17. Объединение стратегических подходов 411 Сочетание крупномасштабных структур и ограниченных контекстов 411 Сочетание крупномасштабной структуры и дистилляции 414 Первоначальная оценка 415 Кому планировать стратегию 416 Самозарождение структуры в ходе разработки 416 Смежная группа по разработке архитектуры 417 Шесть принципов принятия решений при стратегическом проектировании 417 То же верно и для технических сред проектирования 420 Долой генеральный план 421 Заключение 423 Взгляд в будущее 427 Приложение. Использование шаблонов в этой книге 429 Глоссарий 433 Список литературы 437 Фотографии 438 Предметный указатель 439

Классическая книга Э. Эванса освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Это переработка и структуризация знаний о предметных областях, применение типовых архитектурных шаблонов, построение и анализ моделей предметных областей, проектирование программных объектов с точки зрения качества их взаимодействия и передачи логической структуры знаний, организация программ на основе крупномасштабных структур.

Немає коментарів для цієї одиниці.

для можливості публікувати коментарі.

Натисніть на зображення, щоб переглянути його в оглядачі зображень

Локальне зображення обкладинки

Працює на АБІС Коха