我的公司目前正在用 C# 创建一个大型多层软件包。我们对该结构采用了 SOA 方法,我想知道是否有人对如何使其具有编程知识的用户可扩展有任何建议。
这将涉及两个过程:生产系统管理员批准使用特定插件,以及实际插件架构本身。
我们希望允许用户编写脚本来执行常见任务、修改用户界面的布局(用 WPF 编写)并添加新功能(即允许制表数据的图表)。有没有人对如何实现这一点有任何建议,或者知道从哪里可以获得做这种事情的知识?
我认为这将是发布具有限制分发许可证的开源软件的完美角落案例,但是,我并不热衷于允许竞争对手访问我们的源代码。
谢谢。
编辑:我想我只是澄清一下为什么我选择了我所做的答案。我指的是我公司外部的生产管理员(即客户),并让他们以某种方式以更简单的方式自动化/编写脚本,而不需要他们完全了解 c#(他们大多是编程有限的最终用户经验)-我更多地考虑的是DSL。这可能是一个遥不可及的目标,而托管可扩展性框架似乎提供了迄今为止最好的折衷方案。