gpt4 book ai didi

c# - 为多个客户自定义 c# WinForm 应用程序

转载 作者:太空狗 更新时间:2023-10-29 23:26:09 25 4
gpt4 key购买 nike

想想这个场景:

我有一个 C# Windows 窗体应用程序。这个应用程序对我所有的客户都是一样的。现在他们中的一个需要修改一个表单,添加新的文本框和新的逻辑。

我显然不想复制我的应用程序,插入带有客户 ID 的 IF 语句来控制逻辑很容易导致意大利面条式代码。

我认为在这种情况下我可以为每个客户创建一个单独的dll 项目;在里面我可以编写自定义表单实现与默认表单相同的接口(interface)(逻辑类也是如此)我可以尝试通过配置文件切换这些 dll 或使用正确的客户 dll 构建项目(或使用,例如,用于 DI 的 Windsor CaSTLe ).

这是一个有效的模式吗?以不同的方式存在?

更新

我尝试列出:

最佳答案

我认为在这种情况下,MEF会是更好的选择。 CaSTLe 更像是业务逻辑的 DI 引擎,对于控制对象的生命周期很有用,尤其是当你希望能够切换程序的工作方式时(多个小线程或一个线程中的一个大操作)。
另一方面,MEF 让您无需为此类配置添加配置文件。您只需使用库进行操作。我认为 MEF 最适合客户端 GUI 表单。

关于c# - 为多个客户自定义 c# WinForm 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com