powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Delphi [игнор отключен] [закрыт для гостей] / delphi-7 exe=>dll=>dll release vs free win-10
6 сообщений из 31, страница 2 из 2
delphi-7 exe=>dll=>dll release vs free win-10
    #40137201
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010
Передать данные и получить результат.

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

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

Всё становится не в пример проще и удобнее, если перестать лезть к гландам через задницу и развернуть общение в правильном направлении. Это плагин в ходе инициализации должен вызывать ядро и говорить ему: "у меня есть такой-то сервис. а ещё у меня есть сякой сервис. а ещё я хочу подписаться вот на такое оповещение". Соответственно, потребность в каких-либо экспортируемых сущностях просто уходит. Всё, что нужно ядру - сделать плагину LoadLibrary. Плагин, инициализируясь, регистрирует себя везде, где считает нужным. Всё дальнейшее общение идёт через те классы, объекты или интерфейсы, которые он предоставил. Очень просто, надёжно, красиво - и отлично сопровождается.
...
Рейтинг: 0 / 0
delphi-7 exe=>dll=>dll release vs free win-10
    #40137213
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Всё, что нужно ядру - сделать плагину LoadLibrary. Плагин, инициализируясь, регистрирует себя везде, где считает нужным.

Для узкоспециализированного плагина имени единственного известного ему хоста, нечто подобное реализуемо.
Но это будет плагин типа службы разведки или контрразведки, когда хост и не догадывается, что ему добровольно оказывают полезные услуги.
В противном случае, этому плагину было бы неплохо и заявить о своем существовании.
Для того чтобы сказать - эй хост, если тебе покажется, что я могу сделать для тебя что-нибудь полезное, обращайся ко мне по такому-то интерфейсу.
...
Рейтинг: 0 / 0
delphi-7 exe=>dll=>dll release vs free win-10
    #40137214
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
softwarer
Всё, что нужно ядру - сделать плагину LoadLibrary. Плагин, инициализируясь, регистрирует себя везде, где считает нужным.

Для узкоспециализированного плагина имени единственного известного ему хоста, нечто подобное реализуемо.
Но это будет плагин типа службы разведки или контрразведки, когда хост и не догадывается, что ему добровольно оказывают полезные услуги.
В противном случае, этому плагину было бы неплохо и заявить о своем существовании.
Для того чтобы сказать - эй хост, если тебе покажется, что я могу сделать для тебя что-нибудь полезное, обращайся ко мне по такому-то интерфейсу.

по сути, это разновидность обратного управления, когда хост добровольно выставляет часть своих кишков наружу, для свободного использования произвольно загруженными плагинами.
...
Рейтинг: 0 / 0
delphi-7 exe=>dll=>dll release vs free win-10
    #40137217
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Для узкоспециализированного плагина имени единственного известного ему хоста, нечто подобное реализуемо.

А у нас что, один и тот же плагин обычно подключается и к Microsoft Office, и к 1C?

booby
когда хост и не догадывается, что ему добровольно оказывают полезные услуги.

Даже не знаю, как можно это прочитать в том, что я написал. Там вроде русским языком написано - плагин обращается к ядру и заявляет о своём существовании и предоставляемых сервисах.

booby
по сути, это разновидность обратного управления, когда хост добровольно выставляет часть своих кишков наружу, для свободного использования произвольно загруженными плагинами.

Эта "часть кишок" называется "внешний интерфейс" :) А в остальном да, именно так. В этом вся прелесть. Вместо судорожных подёргиваний через прокрустово ложе узкоспециализированных процедур ядро открывает плагинам API своих возможностей, а те цепляются к ним сообразно своему предназначению. И расширения этого API никак не меняют интерфейс, не требуют переписывать/перекомпилировать старые плагины итп., просто появляются ещё и новые возможности.
...
Рейтинг: 0 / 0
delphi-7 exe=>dll=>dll release vs free win-10
    #40137220
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

я, как человек малограмотный, смотрю на инверсию управления, главным образом, как на способ
устранения программиста от программирования - не твое дело, что там происходит, плагин сам разберется, что с тобой вообще делать.
Общее и отличие от "клиент-серверного" программирования здесь такое - не дело программиста "клиента" понимать,
что происходит на "сервере".
Но существо "плагино-программирования" заключается в том, что не дело программиста вообще понимать, как работает его программа, в любой её части.
...
Рейтинг: 0 / 0
delphi-7 exe=>dll=>dll release vs free win-10
    #40137439
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Всё становится не в пример проще и удобнее, если перестать лезть к гландам через задницу и развернуть общение в правильном направлении. Это плагин в ходе инициализации должен вызывать ядро и говорить ему: "у меня есть такой-то сервис. а ещё у меня есть сякой сервис. а ещё я хочу подписаться вот на такое оповещение". Соответственно, потребность в каких-либо экспортируемых сущностях просто уходит. Всё, что нужно ядру - сделать плагину LoadLibrary. Плагин, инициализируясь, регистрирует себя везде, где считает нужным. Всё дальнейшее общение идёт через те классы, объекты или интерфейсы, которые он предоставил. Очень просто, надёжно, красиво - и отлично сопровождается.
Ясно, спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / delphi-7 exe=>dll=>dll release vs free win-10
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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