|
Сервисы и плагины.
|
|||
---|---|---|---|
#18+
Вопрос такой: есть программа, программа загружает плагины через интерфейс из сборок в нужной папке. Есть событийное взаимодействие между всеми плагинами. Но каждый плагин загружается независимо от любого другого. Загружаясь плагин "оповещает" все остальные о том, что он загрузился. Предположим, что в базе есть таблица с N записями, которые можно получить из статические класса сервиса аля GetRecords(), то в случаи если плагины независимы друг от друга, они будут загружать эти строки отдельно друг от друга. Получается, что я делаю одно и тоже 2 раза подряд, да еще и памяти трачу в 2 раза больше. Как сделать возможность доступа к списку Records из всех плагинов, при этом не загружая его в каждом плагине. Можно прямо в сервисе через Static, просто создать статическое свойство , которое будет инициализировано в тот момент, когда оно потребуется и будет обновляться по мере необходимости сразу для всех плагинов. В модели представления плагина через сервис получить статическое поле и задать его полю модели. Сделать отдельный плагин, который будет гарантированно загружаться раньше остальных и будет прослойкой между сервисом и плагином. Что плохого в 1 варианте? Какие еще варианты у меня есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2015, 15:31 |
|
|
start [/forum/topic.php?fid=21&msg=39059543&tid=1440799]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 261ms |
total: | 481ms |
0 / 0 |