Отправить другу/подруге по почте ссылку на эту страницуВариант этой страницы для печатиНапишите нам!Карта сайта!Помощь. Как совершить покупку…
московское время19.03.24 13:37:40
На обложку
Экофизиология мяты: продукционный процесс и адаптационный…авторы — Кириченко Е. Б.
Очерки философии и социологии современной Японииавторы — Поспелов Б. В.
Тульские оружейники: Сборник документовавторы — Юркин И. Н., ред.
б у к и н и с т и ч е с к и й   с а й т
Новинки«Лучшие»Доставка и ОплатаМой КнигоПроводО сайте
Книжная Труба   поиск по словам из названия
Авторский каталог
Каталог издательств
Каталог серий
Моя Корзина
Только цены
Рыбалка
Наука и Техника
Математика
Физика
Радиоэлектроника. Электротехника
Инженерное дело
Химия
Геология
Экология
Биология
Зоология
Ботаника
Медицина
Промышленность
Металлургия
Горное дело
Сельское хозяйство
Транспорт
Архитектура. Строительство
Военная мысль
История
Персоны
Археология
Археография
Восток
Политика
Геополитика
Экономика
Реклама. Маркетинг
Философия
Религия
Социология
Психология. Педагогика
Законодательство. Право
Филология. Словари
Этнология
ИТ-книги
O'REILLY
Дизайнеру
Дом, семья, быт
Детям!
Здоровье
Искусство. Культурология
Синематограф
Альбомы
Литературоведение
Театр
Музыка
КнигоВедение
Литературные памятники
Современные тексты
Худ. литература
NoN Fiction
Природа
Путешествия
Эзотерика
Пурга
Спорт

/ИТ-книги

Мультипарадигменное проектирование для C++ — Коплиен Д.
Мультипарадигменное проектирование для C++
Коплиен Д.
год издания — 2005, кол-во страниц — 235, ISBN — 5-94723-895-0, тираж — 2500, язык — русский, тип обложки — мягк., масса книги — 320 гр., издательство — Питер
серия — Библиотека программиста
цена: 499.00 рубПоложить эту книгу в корзину
James O. Coplien
Multi-Paradigm Design for C++

Lucent Technologies, Bell Lab Innovations, 1999

Пер. с англ. А. Анциферова

Формат 70x100 1/16
ключевые слова — с++, программирован, перегруженн, процедурн, параллельн, мультипарадигм, предметн, проектирован, паттерн, полиморфизм, разработ, объектно-ориентирован, перегрузк, препроцессор, оккам, компиляц, унификац, адаптер

С++ — язык программирования, который поддерживает множество парадигм: классы, перегруженные функции, шаблоны, модули, процедурное программирование, параллельное программирование и т. д. Несмотря на гибкие и разнообразные средства языка, потребовались существенные усилия для создания метода проектирования, который позволял бы в полной мере использовать множество парадигм в рамках единого приложения. Эта книга последовательно, просто и исчерпывающе описывает среду для применения мультипарадигменного проектирования, предлагает внушительный набор методик проектирования, которые формируют базис аппарата мультипарадигменного проектирования.

ОГЛАВЛЕНИЕ

Предисловие11
 
Структура книги15
Благодарности16
От издательства16
 
1. Введение: потребность в нескольких парадигмах17
 
1.1. Инженерия предметной области и несколько парадигм17
1.2. Проектирование, анализ, семейства, предметные области: определения19
1.2.1. Анализ20
1.2.2. Проектирование21
1.2.3. Архитектура21
1.2.4. Предметные области22
1.2.5. Семейства и анализ общности22
1.2.6. Измерения абстракции23
1.2.7. Точность абстракции23
1.2.8. Проектирование и реализация24
1.3. 3а пределы объектов25
1.4. Анализ общности и изменчивости26
1.5. Семейства программ26
1.6. Мультипарадигменное проектирование28
1.6.1. Язык: C++28
1.6.2. Сложные семейства29
1.6.3. Включение паттернов30
1.7. Мультипарадигменная разработка и язык программирования31
1.7.1. Прикладные языки в FAST31
1.7.2. Анализ предметной области и язык C++33
1.7.3. Полиморфизм34
1.8. Анализ общности: иная перспектива34
1.8.1. Правила и механизмы35
1.8.2. Изменчивость во времени и в пространстве35
1.8.3. Динамическое связывание36
1.9. Резюме37
 
2. Анализ общности39
 
2.1. Общность: суть абстрагирования39
2.1.1. Дедуктивная и индуктивная общность40
2.1.2. Семейства программ42
2.2. Подготовка анализа: словарь предметной области43
2.2.1. Словарь предметной области44
2.2.2. Команда разработчиков словаря45
2.3. Измерения и категории общности47
2.3.1. Структура (данных)50
2.3.2. Имя и поведение54
2.3.3. Алгоритм57
2.4. Примеры общности58
2.4.1. Структура58
2.4.2. Имя и поведение59
2.4.3. Алгоритм61
2.5. Пересмотр результатов62
2.6. Общность и развитие63
2.7. Резюме64
 
3. Анализ изменчивости65
 
3.1. Изменчивость: вкус жизни65
3.2. Общая основа66
3.3. Положительная и отрицательная изменчивость67
3.3.1. Положительная изменчивость67
3.3.2. Отрицательная изменчивость68
3.4. Предметная область и диапазон изменчивости69
3.4.1. Пример с буферами редактирования текста70
3.4.2. Удачные параметры изменения71
3.5. Время связывания71
3.5.1. Время связывания и гибкость71
3.5.2. Общее объектов и динамического связывания72
3.5.3. Эффективность и время связывания72
3.5.4. Варианты связывания72
3.5.5. Пример73
3.6. Значения по умолчанию74
3.7. Таблицы изменчивости75
3.8. Некоторые особенности изменчивости76
3.9. Пересмотр результатов77
3.10. Графы зависимости изменчивости77
3.11. Резюме78
 
4. Анализ прикладной предметной области79
 
4.1. Анализ, анализ предметной области и большее79
4.1.1. Традиционный анализ80
4.1.2. Семейства систем: анализ предметной области80
4.1.3. Анализ прикладной области и области решений85
4.1.4. Действия в анализе предметной области85
4.2. Подобласти в предметном анализе87
4.2.1. Предметный анализ и многократное использование89
4.2.2. Модульная организация подобластей90
4.2.3. Повторение и иерархия91
4.3. Структура подобласти92
4.3.1. Каркас как вариант реализации подобластей94
4.3.2. Действия в анализе подобластей95
4.4. Анализ: общая картина96
4.5. Резюме98
 
5. Объектно-ориентированный анализ99
 
5.1. О парадигмах и объектах99
5.1.1. Классы и объекты99
5.1.2. Принцип подстановки Барбары Лисков100
5.1.3. Виртуальные функции100
5.1.4. Объектно-ориентированный: ещё одно определение102
5.1.5. Применимость объектно-ориентированного проектирования104
5.2. Объектно-ориентированный анализ общности105
5.2.1. Анализ общности107
5.2.2. Анализ изменчивости107
5.3. Резюме108
 
6. Анализ области решений109
 
6.1. «Другая» предметная область109
6.1.1. Анализ и язык110
6.2. Область решений C++: обзор110
6.3. Данные111
6.4. Перегрузка111
6.5. Шаблоны классов112
6.5.1. Специализация шаблона113
6.6. Шаблоны функций113
6.7. Наследование114
6.7.1. Сопоставление предметных областей115
6.8. Виртуальные функции119
6.9. Анализ общности и полиморфизм120
6.10. Директивы препроцессора121
6.11. Отрицательная изменчивость122
6.11.1. Когда использовать отрицательную изменчивость122
6.11.2. Отрицательная изменчивость или разделение
     предметной области130
6.11.3. Отрицательная изменчивость: резюме132
6.12. Область решений C++: резюме134
 
7. Простое смешивание парадигм135
 
7.1. Объединяем знания: обзор мультипарадигменного проектирования135
7.1.1. Под одну гребёнку всё не подстричь135
7.1.2. Степени сложности138
7.2. Операции мультипарадигменного проектирования142
7.3. Пример: простой транслятор147
7.3.1. Разбиение на подобласти147
7.3.2. Определение подходящей парадигмы внутри подобласти149
7.3.3. Реализация проекта156
7.4. Проектирование, а не анализ157
7.4.1. Анализ, архитектура или проектирование?157
7.5. Другой пример: автоматическое дифференцирование158
7.5.1. Предметная область Основных операций160
7.5.2. Предметная область Степени161
7.5.3. Предметная область Величины161
7.5.4. Развитие проекта164
7.6. «Забортные» (внешние) парадигмы165
7.7. Вопросы управления166
7.7.1. «Бритва Оккама»: не усложняем166
7.7.2. Разделяй и властвуй167
7.7.3. За пределами C++169
7.7.4. Практика в предметной области170
7.8. Резюме170
 
8. Переплетаем парадигмы171
 
8.1. Методика и проектирование171
8.2. Анализ общности: каким является измерение общности?172
8.3. Несколько измерений изменчивости при едином наборе общих
характеристик173
8.3.1. Анализ изменчивости174
8.3.2. Выражение общности и изменчивости на C++175
8.4. Взаимозависимые предметные области178
8.4.1. Случай первый: связывание при компиляции183
8.4.2. Случай второй: тип буфера определяется типом носителя
    во время выполнения; тип носителя определяется типом буфера
    при компиляции185
8.4.3. Случай третий: тип буфера определяется носителем во
    время выполнения; тип носителя определяется типом буфера
    во время выполнения190
8.5. Проект и структура192
8.5.1. Пара слов о моменте связывания195
8.6. Другой пример: конечный автомат196
8.7. Решения, основанные на паттернах201
8.8. Резюме202
 
9. Дополняем область решений паттернами203
 
9.1. Значение идиом и паттернов203
9.1.1. Паттерны вне языка204
9.1.2. Паттерны и мультипарадигменное проектирование205
9.1.3. Имена для конструкций области решений206
9.1.4. Конструкции более высокого уровня,
    чем в языках программирования206
9.1.5. Отрицательная изменчивость207
9.2. Общность и изменчивость в общеизвестных паттернах209
9.2.1. Паттерны вне методов инженерии предметной области209
9.2.2. Паттерн Мост210
9.2.3. Паттерн Метод шаблонов210
9.2.4. Паттерн Стратегия211
9.2.5. Паттерн Состояние213
9.2.6. Паттерн Унификация213
9.2.7. Паттерн Одиночка214
9.3. Паттерны отрицательной изменчивости215
9.3.1. Паттерн Мост215
9.3.2. Паттерн Адаптер217
9.3.3. Другие паттерны217
9.4. Средства мультипарадигменного проектирования
как дополнение паттернов218
9.5. Резюме218
 
Список литературы219
 
Алфавитный указатель223

Книги на ту же тему

  1. Стандарты программирования на C++: 101 правило и рекомендации, Саттер Г., Александреску А., 2015
  2. Современное проектирование на C++: Обобщённое программирование и прикладные шаблоны проектирования, Александреску А., 2015
  3. Моя первая программа на C/C++, Нейбауэр А. Р., 1995
  4. Основы программирования на языках C и C++, Ашарина И. В., 2002
  5. Справочник программиста по C/C++. — 2-е изд., Шилдт Г., 2001
  6. Начальный курс C и C++, Березин Б. И., Березин С. Б., 2001
  7. Язык программирования C. Лекции и упражнения. — 6-е изд., Прата С., 2015
  8. UNIX. Профессиональное программирование. — 2-е изд., Стивенс Р., Раго С., 2007

Напишите нам!© 1913—2013
КнигоПровод.Ru
Рейтинг@Mail.ru работаем на движке KINETIX :)
elapsed time 0.021 secработаем на движке KINETIX :)