想象这样的情境:
我有一个C#窗体应用程序。这个应用程序对于所有客户都是相同的。现在其中一个客户需要修改一个表单,添加新的文本框和新的逻辑。
显然,我不想复制我的应用程序,并且插入带有客户ID的IF语句来控制逻辑很容易导致代码混乱。
我认为在这种情况下,我可以为每个客户创建一个单独的dll项目;在其中,我可以编写自定义表单,实现与默认表单相同的接口(逻辑类也是如此),并尝试通过配置文件或使用正确的客户端dll构建项目(或使用例如Windsor Castle用于DI)来切换这些dll。
这是一种有效的模式吗?是否存在不同的方法?
更新
我尝试列出: