OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 25 Апрель, 2024 20:13

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 13:33 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Уже много раз обсуждались эти вещи, но по отдельности. А вот если их поставить рядом и оценить с точки зрения контура управления, то что получится?

Можно ли говорить в том смысле, что хуки требуются для встраивания в изолированный процесс управления извне, а шина даёт возможность встраиваться как бы "внутрь"? (извините за такие формулировочки, по-другому пока никак). Как оно в теории?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 13:54 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Иван Кузьмицкий писал(а):
Уже много раз обсуждались эти вещи, но по отдельности. А вот если их поставить рядом и оценить с точки зрения контура управления, то что получится?
Обратите внимание, Иван, что хуки в отличие от каталогов инсталлируемых объектов (Directory) используются исключительно в том же интерфейсном модуле (сервере), в котором они объявлены. А экспортируются лишь процедуры, которые используют эти хуки. В этом, на мой взгляд, основное отличие Hook и Directory.
А общее у них то, что и те и другие требуют инсталляции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 14:12 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Да, всё так. Меня интересует вопрос архитектурного выбора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 14:21 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Архитектурный выбор следует из того, что я сказал.

Если дополнительные функции, требующие скрытой реализации и инсталляции, нужны только самому модулю-серверу (то есть это его внутренняя кухня), то используют Hook.
Если дополнительные функции, требующие скрытой реализации и инсталляции, должны быть доступны модулям-клиентам, то используют Directory. В этом случае модуль-сервер экспортирует точку доступа VAR dir-: Directory, чего не наблюдается в случае с хуками.

Если я опять ответил не то, то сформулируйте, пожалуйста, вопрос точнее :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 14:55 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Причём тут фабрики? Вопрос был в противопоставлении шины сообщений и инсталлируемого хука.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 15:02 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Собственно, изначально вопрос рассматривался в плане преимущества в применении в "асинхронных" процессах. Например, работа с сетью. Так, применяя хуки, мы можем расширить функционал реакциями на события в сетевом потоке, однако это сопряжено с накладками, связанными с переносом контекста в реализуемый хук(имеется ввиду необходимость вытаскивания хука на всё более "высокий" уровень модулей, чтобы охватить требуемые возможности, или же, создавать каскады хуков, дл каждого перехода с одного прикладного уровня на другой). Мне кажется, что пропуская сквозное сообщение по всем уровням удастся избежать такого "протаскивания" и ещё более обособить разнородные компоненты. Однако тут возникает зависимость от очерёдности получения сообщений. В идеале, конечно, её быть не должно.

UPD. Ну и, придётся описывать кучу сообщений, чтобы полностью описать реакции системы.

UPD2. Кстати, в некоторых случаях можно применить развитие хука - нечто, напоминающее по смыслу "владельца"(не знаю, как называется, owner, context типа того). Некая компонента для себя определяет управляющую и контроллирующую структуру(пока всё так же, как и в хуке) но мы потом эту структуру развиваем до уровня обычного объекта(с методами, с полями итд). И при необходимости инкапсулируем изначальную структуру. Тогда нет нужды переносить контекст(потому что он и так на месте).


Последний раз редактировалось Пётр Кушнир Суббота, 18 Апрель, 2009 15:52, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 15:27 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Пётр Кушнир писал(а):
Причём тут фабрики?
Извиняюсь :oops: Как раз с этим работал. Не переключил контекст задачи. Хочется успеть и тут и там, а получилось "как всегда".
За двумя зайцами погонишься -- от обоих <...> получишь! :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 18:01 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
igor писал(а):
Если дополнительные функции, требующие скрытой реализации и инсталляции, нужны только самому модулю-серверу (то есть это его внутренняя кухня), то используют Hook.
Если дополнительные функции, требующие скрытой реализации и инсталляции, должны быть доступны модулям-клиентам, то используют Directory...

Я задавал вопрос несколько из другой позиции, ещё раз прошу прощения за неудачную передачу смысла.
Такие проектные решения, как хуки, фабрики или шины выбираются, исходя из задачи. Иногда случается так, что неправильно принимаешь решение и применяешь тот или иной вариант, но не слишком удачно. Я не силён в теории систем, поэтому могу лишь предполагать, что, например, хуки и шина работают в разных контурах управления.
Отсюда и вытекает интерес к рассмотрению архитектурных элементов в единой системе отсчёта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 18:37 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Кузьмицкий писал(а):
Такие проектные решения, как хуки, фабрики или шины выбираются, исходя из задачи.
Действительно, было бы забавно найти тут какие-то формулировки. Не обязательно связь между ними, скорее, выявить уровень абстракции, на котором эти штуки становятся как бы базовыми строительными приемами. Может, там еще что можно будет увидеть, на том уровне.

Хуки -- развитие идеи разделения интерфейса и реализации в сторону динамики, чтобы менять реализацию на лету. Это понятно. Для бутстрапа, например.

Шина сообщений, on the other hand, -- способ общаться, скажем, модулям, без знания всей (динамической) цепочки посредников, и даже без знания структуры этой цепочки. Может быть, в этом и суть -- в абстрагировании даже от структуры этой связи. Как и численности аудитории общения.

На эту тему Гамма и др. много слов, конечно, сказали. Но у них смысл не отжат. И не причесан.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 20:49 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Иван Кузьмицкий писал(а):
Можно ли говорить в том смысле, что хуки требуются для встраивания в изолированный процесс управления извне, а шина даёт возможность встраиваться как бы "внутрь"? (извините за такие формулировочки, по-другому пока никак).
Нельзя. Извне - это откуда, а внутрь - это куда. Если сопоставлять - то по одному критерию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 22:31 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Info21 писал(а):
выявить уровень абстракции, на котором эти штуки становятся как бы базовыми строительными приемами. Может, там еще что можно будет увидеть, на том уровне.
Да, наверное, мой вопрос именно отсюда.

GUEST писал(а):
Нельзя. Извне - это откуда, а внутрь - это куда. Если сопоставлять - то по одному критерию.

Приведу условную аналогию с паровозом, может моя мысль вылезет из этих трёх сосен :)

Вот есть частный случай локомотива - паровоз. Машинист может, подойдя к соответствующему модулю, подать сигнал или регулировать скорость. Хуки, представляют собой конкретные реализации действий "сигнал" (свисток), "изменение скорости" (подбросить дровишек) и т.п. Меняя реализацию хуков, мы можем вместо паровоза сделать электровоз, но суть локомотива как управляемого машинистом движителя, останется прежней.

А шина сообщений, по-моему, является информационным каналом между, например, машинистом, и модулями подачи сигнала, изменения скорости и другими. Подменяя хуки, мы даём новую реализацию, подключенную тем же к каналам управления старым способом.

Под "встраиванием внутрь" я имел в виду обработку сообщений. По сути, это более гибкое изменение поведения, потому что в отличие от жестко заданного интерфейса хука, у нас сигналы для модуля поступают по универсальному каналу. Такой локомотив имел бы в кабине один-единственный рупор, куда машинист кричал бы команды: "свистнуть", "увеличить скорость" и т.п. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 18 Апрель, 2009 22:45 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
> Хуки или шина

Почему или?
По хукам тоже можно сообщения прокачивать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Воскресенье, 19 Апрель, 2009 08:27 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Иван Кузьмицкий писал(а):
Под "встраиванием внутрь" я имел в виду обработку сообщений.

Проще будет не пояснять что именно имели в виду, а отредактировать исходное высказывание, вероятно.
Иван Кузьмицкий писал(а):
один-единственный рупор
Один и единственный это одно и то же.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Воскресенье, 19 Апрель, 2009 09:16 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Сергей Губанов писал(а):
По хукам тоже можно сообщения прокачивать.
Да, тогда их можно рассматривать как информационный канал, то есть - шину.
GUEST писал(а):
Проще будет не пояснять что именно имели в виду, а отредактировать исходное высказывание, вероятно.
Если проще, я бы так и поступил.
GUEST писал(а):
Один и единственный это одно и то же.
Это общеупотребительная идиома, вообще-то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Воскресенье, 19 Апрель, 2009 10:23 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Иван Кузьмицкий писал(а):
GUEST писал(а):
Проще будет не пояснять что именно имели в виду, а отредактировать исходное высказывание, вероятно.
Если проще, я бы так и поступил.
И я. А в чем проблема с редактированием?
Иван Кузьмицкий писал(а):
Это общеупотребительная идиома, вообще-то.
Вполне возможно, но, на мой взгляд, смысл моего высказывания от этого не изменяется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Воскресенье, 19 Апрель, 2009 12:36 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
GUEST писал(а):
И я. А в чем проблема с редактированием?
У Вас проблемы с редактированием? У меня - нет.
Иван Кузьмицкий писал(а):
Вполне возможно, но, на мой взгляд, смысл моего высказывания от этого не изменяется.
Просто высказывание Ваше ни к селу, ни к городу, уж извините :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 25 Апрель, 2009 10:19 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Прошу разъяснить термин "родовая шина сообщений". Часто встречается, пока не понимаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 25 Апрель, 2009 10:55 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
http://oberoncore.ru/programming/oberon-technology


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 25 Апрель, 2009 12:14 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Прошу разъяснить термин "родовая шина сообщений".
Кстати, действительно. Почему "родовая", когда в generic message bus -- generic относится к message (в котором, кстати, нейтрализовано множественное число).
Смысл тут: шина для некоторого класса сообщений.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хуки или шина - вот в чём вопрос!
СообщениеДобавлено: Суббота, 25 Апрель, 2009 15:42 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Перевод неудачный, а повелось с вологодского сайта, кажется.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB