我们开始设计为客户量身定制的ERP系统。这是一个典型的ERP有很多模块,如GL,财务,CRM和HR。我们认为单独出售这些模块,例如:客户只能购买CRM或CRM加HR。 我们需要知道如何从应用程序设计和部署方面实现这一目标?这样做的模式或最佳实践是什么?鉴于它是一个.net Web应用程序。 我知道MEF,但它有所不同,它有助于在运行时将插件安装到现有应用程序,这不是我们的情况。
答案 0 :(得分:0)
您无需分离代码,您需要通过决定每个单元中将要销售的内容来分离逻辑功能。
然后,在需要该功能的每个位置,检查用户的许可证是否允许该功能。如果没有,您要么隐藏UI,要么显示许可证消息,说明该模块尚未购买。
通过这种方式,您可以销售仅更改许可证密钥且不需要重新安装的升级。