powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / UML - как технически реализуются сообщения от объекта к объекту?
7 сообщений из 7, страница 1 из 1
UML - как технически реализуются сообщения от объекта к объекту?
    #38053302
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На многих диаграммах описывается такая вещь, как сообщения. "Один объект передает сообщение другому объекту", изображается стрелкой с закрашенным наконечником. Так и представляется посылка какого-то пакета. Но когда начинаешь реализовывать в каком-либо языке программирования, становится понятно, что все несколько по-другому, это, например, оказывается просто вызовом функции. Но в этом как бы нет той красоты, которая была на диаграмме. И ясности в этом вопросе так и нет.
Хотелось бы как-то упорядочить в голове, какие существуют способы реализации этого в разных языках программирования, например, в Delphi.
...
Рейтинг: 0 / 0
UML - как технически реализуются сообщения от объекта к объекту?
    #38053339
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В конечном счете это и есть вызов функции. Просто на UML обычно схема укрупнена, многие детали опускаются. И сообщение может быть технически реализовано как вызов 10-ти ф-й, причем в разных процессах и на разных серверах, но семантически - это "одно сообщение"
...
Рейтинг: 0 / 0
UML - как технически реализуются сообщения от объекта к объекту?
    #38053347
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmaw, в Turbo Vision, помню, было событийное управление через HandleEvent. Объекты обменивались сообщениями в чистом виде, была маршрутизация сообщений. В Delphi этого нет, убрали. Видимо, не посчитали нужным?
...
Рейтинг: 0 / 0
UML - как технически реализуются сообщения от объекта к объекту?
    #38053374
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще, если, например, объект A передает сообщение объекту B, то это реализуется как вызов в объекте A метода, принадлежащего объекту B
Код: pascal
1.
2.
3.
4.
procedure A.MyMessage;
begin
  B.MyMethod(A.SomeData);
end;


или наоборот:
Код: pascal
1.
2.
3.
4.
procedure A.MyMessage;
begin
  A.MyMethod(B);
end;


?
...
Рейтинг: 0 / 0
UML - как технически реализуются сообщения от объекта к объекту?
    #38053384
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
иными словами, метод, выполняющий основную работу, находится в объекте А, и только использует данные объекта B, или метод находится у B, а объект А только вызывает его, передавая ему свои данные?
...
Рейтинг: 0 / 0
UML - как технически реализуются сообщения от объекта к объекту?
    #38053486
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приводить UML во взаимно-однозначное соответствие коду я смысла не вижу. сообщение можно передать и как прямой вызов функции, и как калбек, сложить в какую-либо очередь, и еще как-то там. если это по семантике "сообщение" - то на UML-это сообщение.
...
Рейтинг: 0 / 0
UML - как технически реализуются сообщения от объекта к объекту?
    #38054968
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladиными словами, метод, выполняющий основную работу, находится в объекте А,
это самое главное.
Сообщения лучше рассматривать по срезу "синхронность".
Т.к. есть основной процесс - поток. Где "идёт код"
Поэтому, может быть так:
Код: sql
1.
2.
3.
4.
procedure A.MyMessage;
begin
  B.MyMethod(A.SomeData);
end;


- А передал сообщение вызовом метода И передал параметры в виде Самого себя \ строки \ числа \ ...

Т.е. 2-ой вариант не подходит, т.к. код не гуляет в объекте B, а в первом - "гуляет" (выполняется)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / UML - как технически реализуются сообщения от объекта к объекту?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]