在这种情况下考虑:为多个客户定制c#WinForm应用程序
我有一个C#窗体窗体应用程序。这个应用程序对我所有的客户都是一样的。现在他们中的一个需要修改添加新文本框和新逻辑的表单。
我显然不想重复我的应用程序,并插入IF语句与客户ID来控制逻辑可以很容易地驱动到意大利面风格的代码。
我认为在这种情况下,我可以为每个客户创建一个单独的dll项目;在内部,我可以编写自定义窗体,实现与默认窗体相同的界面(对于逻辑类也是相同的),我可以尝试通过配置文件切换这些dll或使用正确的客户dll构建项目(或者使用例如Windsor Castle for DI )。
这是一个有效的模式?存在一种不同的方式?
更新
我尝试列表:
在[MEF vs IOC/DI]上查看此答案(http://stackoverflow.com/questions/108116/mef-managed-extensibility-framework-vs-ioc-di)。我认为MEF或DI会为你工作。就个人而言,我会使用Autofac,但我有偏见。 – bentayloruk 2011-06-11 20:25:38