Задать вопрос

Как правильно писать "плагинное" приложение?

Решил тут сделать веб-приложение такое, чтобы использовались плагины. Я на самом деле совсем не представляю форму ответа на мой вопрос, но возможно вы поделитесь ссылками по тематике «Как правильно писать „плагинное“ приложение?» или даже кто-нибудь напишет статью об этом на Хабр.
  • Вопрос задан
  • 3456 просмотров
Подписаться 6 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Web-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
VenomBlood
@VenomBlood
Посмотрите в сторону MEF и Unity (если говорить про .net), позволят создавать достаточно хорошие расширяемые системы.
Если смотреть с более общей точки зрения, то «плагинабельность» — это достаточно широкая и проработанная тема.
Тут встают вопросы: какая именно плагинабельность вам нужна?

Нужно ли взаимодействие на базе SOA? нужна ли изоляция плагинов в отдельный домен? Можете ли вы обойтись простой структурой подлкючения модулей, или надо использовать шину сообщений? Нужно ли разграничение по уровням доверия и, соответственно, раздельный API?
Также вопрос по поводу инъекции зависимостей — будут ли ваши плагины больше отдельными модулями, или они будут тесно интегрироваться в существующую среду (например плагин переопределяющий нотификацию) и возможно использование DI.

Краткого совета «как писать» здесь быть не может, нужно знать задачу и все нюансы.
Если говорить просто о каком-либо фреймворке для обеспечения плагинабельности — почитайте статьи про MEF, они на английском, но дадут общее представление об одном из возможных путей решения проблемы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
schursin
@schursin
А посмотрите API и доки любого подобного и 90% вопросов отпадут сами собой.
Ответ написан
Комментировать
@AlpenColt
Всё зависит от ваших нужд и широты функционала плагина. Лучше всего посмотреть, как это реализовано в опенсорсных решениях, к примеру, могу посоветовать FireFox и расширения на XUL, как образец довольно гибкого способа изменения функционала приложения.

Также, стоит посмотрет в сторону шаблона Наблюдатель", который облегчит масштабируемость.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы