如何用一个代码库编写一个程序来支持多个客户的定制需求?

How can I make a program to support custom requirements for multiple customers with a single codebase?

本文关键字:客户 支持 需求 程序 一个 代码 何用一      更新时间:2023-09-26

正如标题所述,我正在寻找一种方法来组织带有各种客户"设置"的代码,这些设置可以控制程序逻辑,有时还可以显示逻辑,而无需在客户端(javascript)和服务器(c#)中引入if/else分支的嵌套。

我必须选择什么机制来制作一系列用于验证、字段可见性、处理规则等可以基于用户名或其他客户数据动态加载的模块?我知道IOC,我需要一些比"可配置模块"更具体的东西。有没有库提供组织代码和有条件加载的结构?

在javascript中呢?是否有众所周知的机制,动态加载javascript从小文件有条件地执行?

最重要的是,我所描述的东西有一个名字吗?我不希望使用规则引擎或决策引擎,其中代码存储为一组值和操作符。我想把代码保留在原始文件中。我还希望尽可能使用强类型和接口。

任何想法?

您应该查看

中的一个(或两个)
  • 微软的托管可扩展性框架
    • http://msdn.microsoft.com/en-us/magazine/ee291628.aspx
  • Mono。同一个

这是系统上的MSDN文档。以及插件名称空间:http://msdn.microsoft.com/en-us/library/gg145020.aspx

本文讨论了MEF和System的区别。插件:在MEF和MAF (System.AddIn)之间进行选择

扩展系统的布线和配置当然是高度特定于域的。

祝你好运!

如果您希望使用强类型和接口,那么为什么不直接走这条路呢?您可以创建一个接口,该接口为您的个人客户逻辑定义可调用的方法,然后为每个方法创建实现类。这样,在系统启动例程中只有一条条件逻辑(可能是一条switch语句)加载正确的实现。