|
|
|
UML - как технически реализуются сообщения от объекта к объекту?
|
|||
|---|---|---|---|
|
#18+
На многих диаграммах описывается такая вещь, как сообщения. "Один объект передает сообщение другому объекту", изображается стрелкой с закрашенным наконечником. Так и представляется посылка какого-то пакета. Но когда начинаешь реализовывать в каком-либо языке программирования, становится понятно, что все несколько по-другому, это, например, оказывается просто вызовом функции. Но в этом как бы нет той красоты, которая была на диаграмме. И ясности в этом вопросе так и нет. Хотелось бы как-то упорядочить в голове, какие существуют способы реализации этого в разных языках программирования, например, в Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 14:39 |
|
||
|
UML - как технически реализуются сообщения от объекта к объекту?
|
|||
|---|---|---|---|
|
#18+
В конечном счете это и есть вызов функции. Просто на UML обычно схема укрупнена, многие детали опускаются. И сообщение может быть технически реализовано как вызов 10-ти ф-й, причем в разных процессах и на разных серверах, но семантически - это "одно сообщение" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 14:56 |
|
||
|
UML - как технически реализуются сообщения от объекта к объекту?
|
|||
|---|---|---|---|
|
#18+
kmaw, в Turbo Vision, помню, было событийное управление через HandleEvent. Объекты обменивались сообщениями в чистом виде, была маршрутизация сообщений. В Delphi этого нет, убрали. Видимо, не посчитали нужным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 14:59 |
|
||
|
UML - как технически реализуются сообщения от объекта к объекту?
|
|||
|---|---|---|---|
|
#18+
Еще, если, например, объект A передает сообщение объекту B, то это реализуется как вызов в объекте A метода, принадлежащего объекту B Код: pascal 1. 2. 3. 4. или наоборот: Код: pascal 1. 2. 3. 4. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 15:07 |
|
||
|
UML - как технически реализуются сообщения от объекта к объекту?
|
|||
|---|---|---|---|
|
#18+
иными словами, метод, выполняющий основную работу, находится в объекте А, и только использует данные объекта B, или метод находится у B, а объект А только вызывает его, передавая ему свои данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 15:11 |
|
||
|
UML - как технически реализуются сообщения от объекта к объекту?
|
|||
|---|---|---|---|
|
#18+
приводить UML во взаимно-однозначное соответствие коду я смысла не вижу. сообщение можно передать и как прямой вызов функции, и как калбек, сложить в какую-либо очередь, и еще как-то там. если это по семантике "сообщение" - то на UML-это сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 15:55 |
|
||
|
UML - как технически реализуются сообщения от объекта к объекту?
|
|||
|---|---|---|---|
|
#18+
svnvladиными словами, метод, выполняющий основную работу, находится в объекте А, это самое главное. Сообщения лучше рассматривать по срезу "синхронность". Т.к. есть основной процесс - поток. Где "идёт код" Поэтому, может быть так: Код: sql 1. 2. 3. 4. - А передал сообщение вызовом метода И передал параметры в виде Самого себя \ строки \ числа \ ... Т.е. 2-ой вариант не подходит, т.к. код не гуляет в объекте B, а в первом - "гуляет" (выполняется) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 15:33 |
|
||
|
|

start [/forum/topic.php?fid=33&fpage=19&tid=1547763]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 161ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...