В процессе разработки программного обеспечения хватает всевозможных трудностей. Главное — это естественная сложность предметной области, к которой относится решаемая задача. Всякий раз, когда при разработке программного обеспечения возникает необходимость автоматизировать созданные человеком сложные системы, избежать этой сложности нельзя — ею можно только “овладеть”.
Для этого необходима хорошая предметно-ориентированная модель, проникающая значительно дальше поверхностного взгляда на проблему. Если в такой модели удастся правильно отразить внутреннюю структуру предметной области, то разработчики программного обеспечения получат именно тот инструмент, в котором они нуждаются. Хорошая модель предметной области представляет огромную ценность, но построить ее нелегко. Умеют это делать немногие, а научить других этому искусству очень трудно.
Алгоритмическая часть программы.
В алгоритмической части программы сосредоточена ее способность решать для пользователя задачи из соответствующей предметной области. Все остальные части программы и ее функции, какими бы существенными они ни были, только служат этой основной цели. Если область сложна, то и решение соответствующих задач дело непростое, требующее сосредоточенных усилий талантливых и умелых специалистов. Разработчики вынуждены сами погрузиться в предметную область, чтобы накопить достаточно знаний о ней. Им понадобятся отточенные навыки моделирования и умение строить, архитектуру предметной области.
Однако в большинстве программных проектов главные приоритеты совершенно другие. Самые талантливые программисты не очень-то рвутся узнать достаточно о той прикладной области, с которой они работают, не говоря уже о том, чтобы усовершенствовать свои навыки моделирования этой области. “Технари“ любят четко поставленные в количественных терминах задачи, на которых можно отточить свои технические умения. А работа с предметной областью - это что-то зыбкое и непонятное; она требует освоения новых сложных знаний, которые кажутся не очень-то нужными для повышения квалификации программиста.
В итоге технический специалист-программист приступает к работе в сложной, обширной, автоматизированной среде разработки, пытаясь решить прикладную задачу за счет развитых программных технологий. Изучение и моделирование предметной области он оставляет другим. Но сложность расчетной части программы не нужно обходить. Избегать схватки означает рисковать, что программа окажется не у дел.
Содержание.
Введение.
Часть I. Модель предметной области в работе.
Глава 1. Переработка знаний.
Глава 2. Коммуникация и язык.
Глава 3. Связь между моделью и реализацией.
Часть II. Структурные элементы предметно-ориентированного проектирования.
Глава 4. Изоляция предметной области.
Глава 5. Модель, выраженная в программе.
Глава 6. Цикл существования объектов модели.
Глава 7. Работа с языком: расширенный пример.
Часть III. Углубляющий рефакторинг.
Глава 8. Качественный скачок.
Глава 9. Перевод неявных понятий в явные.
Глава 10. Гибкая архитектура.
Глава 11. Применение аналитических шаблонов.
Глава 12. Шаблоны и модель.
Глава 13. Углубляющий рефакторинг.
Часть IV. Стратегическое проектирование.
Глава 14. Поддержание целостности модели.
Глава 15. Дистилляция.
Глава 16. Крупномасштабная структура.
Глава 17. Объединение стратегических подходов.
Заключение.
Приложение. Использование шаблонов в этой книге.
Глоссарий.
Список литературы.
Фотографии.
Предметный указатель.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Предметно-ориентированное проектирование, DDD, Структуризация сложных программных систем, Эванс Э., 2011 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать djvu
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - djvu - Яндекс.Диск.
Дата публикации:
Хештеги: #учебник по программированию :: #программирование :: #Эванс
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- Разработка веб-приложений с использованием Flask на языке Python, Гринберг М., 2014
- Разработка Backbone js приложений, Османи Э., 2014
- Простой Python просто с нуля, Рик Гаско, 2019
- Применение DDD и шаблонов проектирования, Проблемно-ориентированное проектирование приложений с примерами на C# и .NET, Нильссон Д., 2008
Предыдущие статьи:
- Практикум по алгоритмизации и программированию на Python, Хахаев И.А., 2016
- Основы программирования на языке Python, Буйначев С.К., Боклаг Н.Ю., 2014
- Основы программирования на Java, Для школьников и не только, Канель Е.Г., Фрайман З., 2019
- Начинаем программировать на Python, Гэддис Т., 2019