Наша компания в настоящее время находится в процессе создания большого многоуровневого программного пакета на C#. Мы применили подход SOA к структуре, и мне было интересно, есть ли у кого-нибудь какие-либо рекомендации относительно того, как сделать его доступным для пользователей с помощью знаний о программировании.Расширяемость без открытого источника
Это предполагает двухэтапный процесс: утверждение администратором производственной системы, позволяющее использовать определенный плагин, а также собственно архитектуру плагина.
Мы хотим разрешить пользователям писать сценарии для выполнения общих задач, изменять макет пользовательского интерфейса (написанный в WPF) и добавлять новые функциональные возможности (т. Е. Разрешать отображение табличных данных). Кто-нибудь имеет какие-либо предложения о том, как реализовать это, или знать, где можно получить знания, чтобы делать такие вещи?
Я думал, что это будет идеальный угловой футляр для выпуска программного обеспечения с открытым исходным кодом с ограниченной лицензией на распространение, однако я не заинтересован в том, чтобы конкурировать с нашим исходным кодом.
Спасибо.
EDIT: Думаю, я просто уточню, почему я выбрал ответ, который я сделал. Я имел в виду производственных администраторов, внешних по отношению к моей компании (т. Е. Клиента), и давал им возможность автоматизировать/скриптировать вещи проще, не требуя, чтобы они имели полное знание C# (в основном это конечные пользователи с ограниченным программированием опыт). Я думал больше о DSL. Это может быть недостижимой целью, и, по-видимому, оптимальная компромиссная стратегия, предложенная Managed Extensibility Framework.
+1 Ты меня избил –