Одна из общих вещей, которые я видел в приложениях, построенных на IoC / плагинах, состоит в добавлении команд в меню или панели инструментов из динамически загружаемых плагинов. Например, плагины приложения по умолчанию предоставляют такие действия, как «Создать, Открыть, Сохранить», которые отображаются в контекстном меню для определенного элемента в рабочей области. Новый плагин может добавлять команды «Mail, Post, Encrypt», но где эти команды отображаются по отношению к «New, Open, Save»?
Как приложение, загружающее компоненты через IoC, может навести порядок в элементах, которые вводятся?
- Требуются ли метаданные от плагинов, которые дают подсказку о том, как группировать или упорядочивать элементы?
- Использует ли он файл конфигурации с ранее известными именами меню (или идентификаторами) для определения порядка (кажется мне немного слабым)?
- Или «неизвестные» плагины считаются гражданами второго сорта и всегда выбрасываются в подменю?
- Нечто, о чем я даже не подозревал (что я надеюсь увидеть в ответах)