Реферат: Generaliting Dispatching in Distributed Object System
Вообще, командный язык основан на Лиспе; скажем, имеется функция
LAMBDA.
Эксперименты с dispatching.
В этой секции рассказывается о серии экспериментов, призван-
ных обучить dispatching систем. Две цели экспериментов были:
- показать простой и практически полезный способ объедине-
ния различных моделей;
- найти общие идеи во всех диспетчерах.
Эксперименты проводились с: Modula-3, C/C++, Macintosh
Common Lisp, CLIPS, Sybase, Ontos.
Dispatching классов.
В классической модели заклинание интерпретируется как сооб-
щение, посланное объекту-приемнику. При этом действия диспетчера
частично определяются его параметрами. Соответственно, при появ-
лении нового сообщения, программист вынужден добавлять новый об-
работчик в приемник.
Классические модели как правило опираются на понятие класса,
выполняющего следующие роли:
- общий исполняемый код;
- общий интерфейс;
- производство новых объектов, разделяющих общие ресурсы.
Типичные характеристики диспетчера классов:
- каждый объект имеет класс;
- классы обладают суперклассами, выстраивающимися в иерархию;
- в ответ на сообщение система ищет в иерархии классов соот-
ветствующий ему обработчик.
Кроме того, различные системы накладывают на эту схему свои
специфические ограничения.
Dispatching родовых функций.