Создание веб-приложения, которое можно расширить с помощью плагинов/модулей.

StackOverflow https://stackoverflow.com/questions/2580956

  •  24-09-2019
  •  | 
  •  

Вопрос

В настоящее время я занимаюсь разработкой веб-приложения, подобного C# CMS, которое будет использоваться для стандартизации разработки веб-сайтов.С самого начала идея заключалась в том, чтобы сделать ядро ​​как можно более простым, чтобы избежать сложности и перегрузки меню/опций, которая портит многие системы CMS.Теперь это простое ядро ​​готово и работает очень хорошо.

Мы предполагали, что система сможет принимать плагины или модули, которые расширят базовую функциональность в соответствии с потребностями конкретного проекта.Их также можно будет повторно использовать в разных проектах.Например, может потребоваться базовый каталог и корзина для покупок.Весь код таких расширений должен находиться в отдельных сборках.Они должны иметь возможность предоставлять свои собственные интерфейсы администратора и внешний код из этой библиотеки.Система должна выполнить поиск доступных плагинов и предоставить администратору возможность включить/отключить эту функцию.(Все это очень похоже на плагины WordPress)

Крайне важно правильно решить эту проблему, поэтому я стараюсь провести как можно более тщательную проверку, прежде чем приступить к делу.

Мне известен шаблон плагина (http://msdn.microsoft.com/en-us/library/ms972962.aspx) и прочитал несколько статей о его использовании.Это кажется разумным, но я не уверен, что это обязательно правильный/лучший метод для данной ситуации.Кажется, он больше подходит для обработки приложений (манипуляции с изображениями/аудио, математика и т. д.).

Существуют ли какие-либо другие варианты достижения такой функциональности расширяемости пользовательского интерфейса?Или лучше использовать шаблон плагина?

Мне также было бы интересно, есть ли у кого-нибудь ссылки на статьи, в которых объясняется использование шаблона плагина для этой цели?

Это было полезно?

Решение

Платформа управляемой расширяемости (MEF) обеспечивает способ, специально ориентированный на создание компонуемых и расширяемых приложений.Он находится в Codeplex для .net 3.5 и будет включен в состав .net 4, когда он будет выпущен здесь через пару недель.Это поможет обеспечить сантехнику, которая вам понадобится для того, что вы пытаетесь сделать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top