Главная страница

Э. Гамма, Р. Хелм


Скачать 6.37 Mb.
НазваниеЭ. Гамма, Р. Хелм
АнкорFactorial
Дата14.03.2022
Размер6.37 Mb.
Формат файлаpdf
Имя файлаPatterny_Obektno-Orientirovannogo_Proektirovania_2020.pdf
ТипДокументы
#395452
страница37 из 38
1   ...   30   31   32   33   34   35   36   37   38
[LCI+92]
Mark Linton, Paul Calder, John Interrante, Steven Tang, and John
Vlissides. InterViews Reference Manual. CSL, Stanford University,
3.1 edition, 1992.
[Lea88]
Doug Lea. libg++, the GNU C++ library. In Proceedings of the
1988 USENIX C++ Conference, pages 243–256, Denver, CO,
October 1988. USENIX Association.
[LG86]
Barbara Liskov and John Guttag. Abstraction and Specification in
Program Development. McGraw-Hill, New York, 1986.
[Lie85]
Henry Lieberman. There’s more to menu systems than meets the screen. In SIGGRAPH Computer Graphics, pages 181–189, San
Francisco, CA, July 1985.
[Lie86]
Henry Lieberman. Using prototypical objects to implement shared behavior in object-oriented systems. In Object-Oriented Program- ming Systems, Langu -ages, and Applications Conference Proceed- ings, pages 214–223, Portland, OR, November 1986.
[Lin92]
Mark A. Linton. Encapsulating a C++ library. In Proceedings of the 1992 USENIX C++ Conference, pages 57–66, Portland, OR,
August 1992. ACM Press.
[LP93]
Mark Linton and Chuck Price. Building distributed user interfaces with Fresco. In Proceedings of the 7th X Technical Conference, pages 77–87, Boston, MA, January 1993.

Библиография
433
[LR93]
Daniel C. Lynch and Marshall T. Rose. Internet System Handbook.
Addison-Wesley, Reading, MA, 1993.
[LVC89]
Mark A. Linton, John M. Vlissides, and Paul R. Calder. Composing user interfaces with InterViews. Computer, 22(2):8–22, February
1989.
[Mar91]
Bruce Martin. The separation of interface and implementation in
C++. In Proceedings of the 1991 USENIX C++ Conference, pages
51–63, Washington, D.C., April 1991. USENIX Association.
[McC87]
Paul McCullough. Transparent forwarding: First steps. In Ob- ject-Oriented Programming Systems, Languages, and Applications
Conference Proceedings, pages 331–341, Orlando, FL, October
1987. ACM Press.
[Mey88]
Bertrand Meyer. Object-Oriented Software Construction. Seri- es in Computer Science. Prentice Hall, Englewood Cliffs, NJ,
1988.
[Mur93]
Robert B. Murray. C++ Strategies and Tactics. Addison-Wesley,
Reading, MA, 1993.
[OJ90]
William F. Opdyke and Ralph E. Johnson. Refactoring: An aid in designing application frameworks and evolving object-oriented systems. In SOOPPA Conference Proceedings, pages 145–161,
Marist College, Poughkeepsie, NY, September 1990. ACM Press.
[OJ93]
William F. Opdyke and Ralph E. Johnson. Creating abstract super- classes by refactoring. In Proceedings of the 21st Annual Computer
Science Conference (ACM CSC ’93), pages 66–73, Indianapolis,
IN, February 1993.
[P+88]
Andrew J. Palay et al. The Andrew Toolkit: An overview. In
Proceedings of the 1988 Winter USENIX Technical Conference, pages 9–21, Dallas, TX, February 1988. USENIX Association.
[Par90]
ParcPlace Systems, Mountain View, CA. ObjectWorks\Smalltalk
Release 4 Users Guide, 1990.
[Pas86]
Geoffrey A. Pascoe. Encapsulators: A new software paradigm in
Smalltalk-80. In Object-Oriented Programming Systems, Lan- guages, and Applications Conference Proceedings, pages 341–346,
Portland, OR, October 1986. ACM Press.
[Pug90]
William Pugh. Skiplists: A probabilistic alternative to balanced trees. Com mu nications of the ACM, 33(6):668–676, June 1990.

434
Библиография
[RBP+91]
James Rumbaugh, Michael Blaha, William Premerlani, Frederick
Eddy, and William Lorenson. Object-Oriented Modeling and
Design. Prentice Hall, Englewood Cliffs, NJ, 1991.
[Rum94]
James Rumbaugh. The life of an object model: How the object model changes during development. Journal of Object-Oriented
Programming, 7(1):24–32, March/April 1994.
[SE84]
Elliot Soloway and Kate Ehrlich. Empirical studies of program- ming knowledge. IEEE Transactions on Software Engineering,
10(5):595–609, September 1984.
[Sha90]
Yen-Ping Shan. MoDE: A UIMS for Smalltalk. In ACM OOPSLA/
ECOOP ’90 Conference Proceedings, pages 258–268, Ottawa,
Ontario, Canada, October 1990. ACM Press.
[Sny86]
Alan Snyder. Encapsulation and inheritance in object-oriented languages. In Object-Oriented Programming Systems, Languages, and Applications Conference Proceedings, pages 38–45, Portland,
OR, November 1986. ACM Press.
[SS86]
James C. Spohrer and Elliot Soloway. Novice mistakes: Are the folk wisdoms correct? Communications of the ACM, 29(7):624–632,
July 1986.
[SS94]
Douglas C. Schmidt and Tatsuya Suda. The Service Configurator
Fram e work: An extensible architecture for dynamically configuring concurrent, multi-service network daemons. In Proceeding of the
Second International Workshop on Configurable Distributed Sys- tems, pages 190–201, Pittsburgh, PA, March 1994. IEEE Computer
Society.
[Str91]
Bjarne Stroustrup. The C++ Programming Language. Addi- son-Wesley, Reading, MA, 1991. Second Edition.
[Str93]
Paul S. Strauss. IRIS Inventor, a 3D graphics toolkit. In Ob- ject-Oriented Programming Systems, Languages, and Applications
Conference Proceedings, pages 192–200, Washington, D.C., Sep- tember 1993. ACM Press.
[Str94]
Bjarne Stroustrup. The Design and Evolution of C++. Addi- son-Wesley, Reading, MA, 1994.
[Sut63]
I.E. Sutherland. Sketchpad: A Man-Machine Graphical Commu- nication System. PhD thesis, MIT, 1963.
[Swe85]
Richard E. Sweet. The Mesa programming environment. SIGPLAN
No tices, 20(7):216–229, July 1985.

Библиография
435
[Sym93a]
Symantec Corporation, Cupertino, CA. Bedrock Developer’s Ar- chitecture Kit, 1993.
[Sym93b]
Symantec Corporation, Cupertino, CA. THINK Class Library
Guide, 1993.
[Sza92]
Duane Szafron. SPECTalk: An object-oriented data specification language. In Technology of Object-Oriented Languages and Sys- tems (TOOLS 8), pages 123–138, Santa Barbara, CA, August 1992.
Prentice Hall.
[US87]
David Ungar and Randall B. Smith. Self: The power of simplicity.
In Object-Oriented Programming Systems, Languages, and Ap- plications Confe rence Proceedings, pages 227–242, Orlando, FL,
October 1987. ACM Press.
[VL88]
John M. Vlissides and Mark A. Linton. Applying object-oriented design to structured graphics. In Proceedings of the 1988 USE-
NIX C++ Conference, pages 81–94, Denver, CO, October 1988.
USENIX Association.
[VL90]
John M. Vlissides and Mark A. Linton. Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on
Information Systems, 8(3):237–268, July 1990.
[WBJ90]
Rebecca Wirfs-Brock and Ralph E. Johnson. A survey of current research in object-oriented design. Communications of the ACM,
33(9):104–124, 1990.
[WBWW90]
Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener.
Designing Object-Oriented Software. Prentice Hall, Englewood
Cliffs, NJ, 1990.
[WGM88]
Andr
é Weinand, Erich Gamma, and Rudolf Marty. ET++—An object-oriented application framework in C++. In Object-Oriented
Programming Systems, Languages, and Applications Conference
Proceedings, pages 46–57, San Diego, CA, September 1988. ACM
Press.

АЛФАВИТНЫЙ УКАЗАТЕЛЬ
A
AbstractClass шаблонный метод 376
AbstractExpression интерпретатор 290
Abstract Factory. См. Абстрактная фабрика
Abstraction мост 188
AbstractProduct абстрактная фабрика 116
Action команда 275
Adaptee адаптер 174
Adapter. См. Адаптер
Aggregate итератор 305
B
Bridge. См. Мост
Builder. См. Строитель
C
Caretaker хранитель 333
Chain of Responsibility. См. Цепочка обязанностей
Client абстрактная фабрика 116
адаптер 174
интерпретатор 291
команда 280
компоновщик 199
приспособленец 237
прототип 149
цепочка обязанностей 267
Colleague посредник 323
Command. См. Команда
Component декоратор 213
компоновщик 199
Composite. См. Компоновщик
ConcreteAggregate итератор 305
ConcreteBuilder строитель 127
ConcreteClass шаблонный метод 376
ConcreteCommand команда 279
ConcreteComponent декоратор 213
ConcreteCreator фабричный метод 137

Алфавитный указатель
437
ConcreteDecorator декоратор 213
ConcreteElement посетитель 383
ConcreteFactory абстрактная фабрика 116
ConcreteFlyweight приспособленец 236
ConcreteHandler цепочка обязанностей
267
ConcreteImplementor мост 188
ConcreteIterator итератор 305
ConcreteMediator посредник 323
ConcreteObserver наблюдатель 342
ConcreteProduct абстрактная фабрика 116
фабричный метод 137
ConcretePrototype прототип 149
ConcreteState состояние 354
ConcreteStrategy стратегия 365
ConcreteSubject наблюдатель 342
ConcreteVisitor посетитель 383
Context интерпретатор 290
состояние 354
стратегия 365
Creator фабричный метод 137
Cursor итератор 302
D
Decorator. См. Декоратор
Dependents 340
Director строитель 126
E
Element посетитель 384
F
Facade. См. Фасад
Factory method. См. Фабричный метод
Flyweight. См. Приспособленец
FlyweightFactory приспособленец 237
G
Glyph 62
H
Handle/Body 184
Handler цепочка обязанностей 267
I
Implementor мост 188
Interpreter. См. Интерпретатор
Invoker команда 280
Iterator. См. Итератор

438
Алфавитный указатель
K
Kit 113
L
Leaf компоновщик 199
Lexi. См. Редактор Lexi
List 422
ListIterator 425
M
Mediator. См. Посредник
Memento. См. Хранитель
Model/View/Controller 19
MVC 19
N
NonterminalExpression интерпретатор 290
O
ObjectStructure посетитель 384
Observer. См. Наблюдатель
Originator хранитель 333
P
Point 426
Policy 363
Product строитель 127
фабричный метод 137
Prototype. См. Прототип
Proxy. См. Заместитель
Publish-Subscribe 340
R
RealSubject заместитель 249
Receiver команда 280
Rect 427
RefinedAbstraction мост 188
S
Singleton. См. Одиночка
State. См. Состояние
Strategy. См. Стратегия
Subject заместитель 249
наблюдатель 342
Surrogate 246
T
Target адаптер 174
Template Method. См. Шаблонный метод
TerminalExpression интерпретатор 290
Token 330
Toolkit 414
Transaction 275
U
UnsharedConcreteFlyweight приспособленец 237
V
Virtual Constructor 135
Visitor. См. Посетитель

Алфавитный указатель
439
W
Wrapper 171, 210
А
Абстрактная фабрика 24, 113
другое название 113
известные применения 123
мотивация 114
назначение 113
отношения 116
применимость 115
пример кода 119
реализация 117
результаты 116
родственные паттерны 124
структура 115
участники 116
Абстрактные класс 35, 413
объект 413
операция 413
связанность 413
Агрегирование 44
Адаптер 24, 171
другое название 171
известные применения 182
и мост 259
мотивация 171
назначение 171
отношения 174
применимость 173
пример кода 179
реализация 177
результаты 174
родственные паттерны 184
структура 173
участники 174
В
Выбор языка программирования 19
Г
Глиф 62
Д
Декоратор 25, 209
другое название 210
и заместитель 260
известные применения 219
и компоновщик 260
мотивация 210
назначение 210
отношения 213
применимость 212
пример кода 216
реализация 214
результаты 213
родственные паттерны 220
структура 212
участники 213
Делегирование 41, 413
Деструктор 413
Динамическое связывание 413
Дружественный класс 413
З
Задача 18
Закрытое наследование 414
Заместитель 26, 246
другое название 246
и декоратор 260

440
Алфавитный указатель известные применения 258
мотивация 246
назначение 246
отношения 250
применимость 248
пример кода 254
реализация 251
результаты 250
родственные паттерны 258
структура 249
участники 249
Замещение 414
Запрос 29
И
Известные применения паттерна 24
Имя 17
Инкапсуляция 29, 414
вариаций 395
Инструментальная библиотека 49,
414
Интерпретатор 26, 287
известные применения 301
мотивация 287
назначение 287
отношения 291
применимость 289
пример кода 293
реализация 292
результаты 291
родственные паттерны 301
структура 290
участники 290
Интрерфейс 32, 414
идентичный 38
наследование 36
Итератор 302
другое название 302
известные применения 317
мотивация 302
назначение 302
отношения 305
применимость 304
пример кода 309
реализация 305
результаты 305
родственные паттерны 318
структура 304
участники 304
К
Каркас 49, 414
Каталог организация 27
паттернов 24
Класс 414
Glyph 62
абстрактный 35
глиф 62
конкретный 35, 414
наследование 34
подкласс 34
примесь 36
родительский 34
экземпляр 34
Классификация паттерна 22
Клиент 29
Команда 25, 275
другое название 275
известные применения 286
мотивация 275
назначение 275

Алфавитный указатель
441
отношения 280
применимость 278
пример кода 283
реализация 281
результаты 281
родственные паттерны 286
структура 279
участники 279
Композиция объектов 39, 414
рекурсивная 60
Компоновщик 25, 196
и декоратор 260
известные применения 208
мотивация 196
назначение 196
отношения 199
применимость 198
пример кода 205
реализация 200
результаты 200
родственные паттерны 209
структура 198
участники 199
Конструктор 414
Контроллер 19
М
Метакласс 414
Метод 29
Модель 19
Модель/представление/контроллер
19
Мост 24, 184
другое название 184
и адаптер 259
известные применения 195
мотивация 185
назначение 184
отношения 188
применимость 187
пример кода 190
реализация 189
результаты 188
родственные паттерны 196
структура 187
участники 188
Н
Наблюдатель 26, 339
другие названия 340
известные применения 351
мотивация 340
назначение 340
отношения 342
применимость 341
пример кода 348
реализация 344
результаты 343
родственные паттерны 352
структура 341
участники 342
Название 22
Назначение 22
Наследование 34, 414
интерфейса 36
класса 34, 36
О
Объединение функциональности 80
Объект 29, 415
как аргумент 397

442
Алфавитный указатель композиция 39
определение интерфейсов 32
реализации 34
определение степени детализации
31
разложение системы 31
Одиночка 27, 157
известные применения 165
мотивация 158
назначение 157
отношения 159
применимость 158
пример кода 163
реализация 159
результаты 159
родственные паттерны 166
структура 158
участники 158
Операции 29, 415
замещение 35
сигнатура 32
Описание 22
Организация каталога 27
Осведомленность 44
Отношения агрегирования 415
осведомленности 415
паттерна 23
Отправители и получатели 398
П
Параметризованный тип 43, 415
Паттерны 18
Abstract Factory. См. Абстрактная фабрика
Adapter. См. Адаптер
Bridge. См. Мост
Builder. См. Строитель
Chain of Responsibility. См. Цепоч- ка обязанностей
Command. См. Команда
Composite. См. Компоновщик
Decorator. См. Декоратор
Facade. См. Фасад
Factory Method. См. Фабричный метод
Flyweight. См. Приспособленец
Interpreter. См. Интерпретатор
Iterator. См. Итератор
Mediator. См. Посредник
Memento. См. Хранитель
Observer. См. Наблюдатель
Prototype. См. Прототип
Proxy. См. Заместитель
Singleton. См. Одиночка
State. См. Состояние
Strategy. См. Стратегия
Template Method. См. Шаблонный метод
Visitor. См. Посетитель в схеме MVC 19
выбор языка 19
другие названия 22
задача 18
известные применения 24
имя 17
использование 54
каталог 24
классификация 22
критерии 27
мотивация 23

Алфавитный указатель
443
название 22
назначение 22
описание 22
отношения 23
поведения 262
порождающие 108
применимость 23
пример кода 23
проектирования 415
реализация 23
результаты 18, 23
решение 18
родственные 24
структура 23
структурные 169
уровень 28
участники 23
цель 27
Переменная экземпляра 34, 415
Пересечение функциональности 80
Подкласс 35, 415
Подсистема 415
Подтип 416
Полиморфизм 416
Получатель 416
и отправитель 398
Посетитель 27, 379
известные применения 395
мотивация 379
назначение 379
отношения 384
применимость 382
пример кода 390
реализация 386
результаты 385
родственные паттерны 395
структура 383
участники 383
Посредник 26, 319
известные применения 328
мотивация 319
назначение 319
отношения 323
применимость 322
пример кода 325
реализация 324
результаты 323
родственные паттерны 329
структура 322
участники 323
Представление 19
Применимость 23
Пример кода 23
Приспособленец 26, 231
известные применения 244
мотивация 231
назначение 231
отношения 237
применимость 235
пример кода 239
реализация 238
результаты 237
родственные паттерны 246
структура 236
участники 236
Прозрачный ящик 39, 416
Протокол 416
Прототип 26, 146
известные применения 156
мотивация 146
назначение 146
отношения 149

1   ...   30   31   32   33   34   35   36   37   38


написать администратору сайта