Проектирование гибких программ : как не загнать себя в угол
Здесь можно купить книгу "Проектирование гибких программ : как не загнать себя в угол" в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-97060-955-2
Страниц: 375
Артикул: 108054
Возрастная маркировка: 16+
Краткая аннотация книги "Проектирование гибких программ"
Бывает так, что при написании программы вы попадаете в тупик. Возможно, это потому, что вы, как оказалось, не учли некоторые особенности исходной задачи. Однако до обидного часто дело в том, что на начальной стадии проектирования вы приняли какое-то решение, выбрали какую-то структуру данных или способ организации кода, который затем оказался слишком ограниченным, а теперь его трудно заменить. Эта книга служит мастер-классом по стратегиям организации программ, которые позволяют сохранить гибкость. В каждой главе можно видеть, как два эксперта демонстрируют тот или иной передовой метод, шаг за шагом разрабатывая работающую подсистему, объясняют на ходу стратегию своей работы и время от времени указывают на подводный камень или способ обойти то или иное ограничение. Издание предназначено для разработчиков, стремящихся создавать адаптивные системы, которые можно менять с минимальными усилиями.
Содержание книги "Проектирование гибких программ : как не загнать себя в угол"
Предисловие
Предисловие авторов
Благодарности
1. Гибкость в природе и в проектировании
1.1 Архитектура вычислений
1.2 Гибкость через умные компоненты
1.3 Избыточность и дублирование
1.4 Исследовательское поведение
1.5 Цена гибкости
2. Специализированные языки
2.1 Комбинаторы
2.1.1 Комбинаторы функций
2.1.2 Комбинаторы и планы строения
2.2 Регулярные выражения
2.2.1 Комбинаторный язык регулярных выражений
2.2.2 Реализациятрансля тора
2.3 Обертки
2.3.1 Обертки со специализацией
2.3.2 Реализацияоберток
2.3.3 Адаптеры
2.4 Абстракцияпредметной области
2.4.1 Монолитнаяреализация
2.4.2 Абстрагирование предметной области
2.5 Заключение
3. Вариации на арифметическую тему
3.1 Арифметика на комбинаторах
3.1.1 Простой интегратор ОДУ
3.1.2 Настройка арифметических операций
3.1.3 Сочетание разных арифметик
3.1.4 Арифметика на функциях
3.1.5 Сложности с комбинаторами
3.2 Расширяемые полиморфные процедуры
3.2.1 Полиморфная арифметика
3.2.2 Структура зависит от порядка!
3.2.3 Реализацияполиморфных процедур
3.3 Пример: автоматическое дифференцирование
3.3.1 Как работает автоматическое дифференцирование
3.3.2 Производные n-местных функций
3.3.3 Технические детали
3.3.4 Функции-литералы от дифференциальных аргументов
3.4 Эффективность полиморфных процедур
3.4.1 Префиксные графы
3.4.2 Кеширование
3.5 Эффективные типы, определяемые пользователем
3.5.1 Предикаты как типы
3.5.2 Отношениямежду предикатами
3.5.3 Предикаты как ключи для диспетчеризации
3.5.4 Пример: игра-бродилка
3.6 Заключение
4. Сопоставление с образцом
4.1 Образцы
4.2 Переписывание термов
4.2.1 Сегментные переменные в алгебре
4.2.2 Реализациясистем правил
4.2.3 Ремарка: волшебные макросы
4.2.4 Вызов, управляемый образцами
4.3 Устройство сопоставителя
4.3.1 Компиляция образцов
4.3.2 Ограничения на переменные сопоставления
4.4 Унификация
4.4.1 Как работает унификация
4.4.2 Приложение: вывод типов
4.4.3 Как работает вывод типов
4.4.4 Эксперимент: добавляем сегментные переменные
4.5 Сопоставление с образцом на графах
4.5.1 Списки как графы
4.5.2 Реализация графов
4.5.3 Сопоставление на графах
4.5.4 Шахматные доски и альтернативные перспективы для графов
4.5.5 Шахматные ходы
4.5.6 Реализациясопост авленияна графах
4.6 Заключение
5. Вычисление
5.1 Полиморфный интерпретатор eval/apply
5.1.1 eval
5.1.2 apply
5.2 Процедуры с нестрогими аргументами
5.3 Компиляция в исполнительные процедуры
5.4 Исследовательское поведение
5.4.1 amb
5.4.2 Реализация amb
5.5 Явная работа с нижележащими продолжениями
5.5.1 Продолженияк ак нелокальные возвраты
5.5.2 Нелокальнаяпереда ча управления
5.5.3 От продолжений к amb
5.6 Власть и ответственность
6. Слои
6.1 Использование слоевой структуры
6.2 Реализацияслоев
6.2.1 Многослойные данные
6.2.2 Многослойные процедуры
6.3 Слоенаяарифметик а
6.3.1 Арифметика единиц измерения
6.4 Отслеживание зависимостей между значениями
6.4.1 Слой поддержки
6.4.2 Хранение обоснований
6.5 Что обещает многослойность
7. Распространение информации
7.1 Пример: расстояния до звезд
7.2 Механизм распространения
7.2.1 Ячейки
7.2.2 Распространители
7.3 Альтернативные точки зрения
7.4 Слияние значений
7.4.1 Слияние базовых значений
7.4.2 Слияние значений с поддержкой
7.4.3 Слияние множеств значений
7.5 Поиск в возможных мирах
7.5.1 Перебор с возвратами, управляемый зависимостями
7.5.2 Решение комбинаторных задач
7.6 Распространители поддерживают дублирование
8. Эпилог
A Программное обеспечение
B Scheme
B.1 Базовые конструкции Scheme
B.2 Более сложные конструкции
Литература
Предметный указатель
Все отзывы о книге Проектирование гибких программ : как не загнать себя в угол
С книгой "Проектирование гибких программ" читают
Внимание!
При обнаружении неточностей или ошибок в описании книги "Проектирование гибких программ : как не загнать себя в угол (автор Крис Хансон, Джеральд Сассман)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку