gpt4 book ai didi

c# - Compact Framework - 是否有可用的 MVC 框架/库?

转载 作者:太空狗 更新时间:2023-10-29 17:55:45 32 4
gpt4 key购买 nike

我找到了 an article Microsoft 员工就此主题进行了讨论,但是有人为此实现了更强大的框架吗?有没有可以轻松移植的轻量级 WinForms 框架?我想快速上手,并避免在更聪明的人已经完成此操作时生成自己的框架/库来处理此问题。

我还没有看过 Mobile Software Factory来自 P&P 集团,但我怀疑它有点重。值得一看吗?

编辑:我不是在寻找有关 ASP.NET MVC 项目的信息。我问的是紧凑型框架“WinForms”的实现,以及如何用它实现 MVC。

最佳答案

我个人认为移动软件工厂对CF来说并没有太大的乐趣。我们仍然在工作中使用它的一部分 (EventBroker),如果可能的话我什至想删除那部分(因为它不支持通用事件并且您必须将参数从 EventArgs 转换为它们的强类型)。工作中的一个姊妹项目将它用于他们的部分 UI,但由于性能问题不得不将其删除(另一个大项目,尽管它自己也有额外的性能问题)。

我在 P&P 库提供的 MVP 框架中发现的问题是 Forms 和 Controls OWN presenters 而不是 Presenters/Controllers 拥有 Forms(谁没有读过“这只是一个 View ”:Pragmatic Programmer?)。这非常符合 MS 的“Form First”快速应用程序开发口号,但是当您考虑到 CE 中的窗口句柄有多么昂贵(如果您有很多的话)时,它就很糟糕了。我们在工作中运行一个非常大的 CF 应用程序,并且我们推出了我们自己的 MVC 框架。自己动手并不难,只需确保将所有内容分离到 Controller 、 View 、业务对象和服务中,并有一个 UIController 来控制 Controller 之间的交互。

我们实际上更进一步,通过使用 Controller->View->Layout 模式重用表单/控件。 Controller 与往常一样, View 是将布局自定义为特定 View 的对象,布局是实际的 UserControl。然后我们将它们交换进出一个单一的表格。这大大减少了我们使用的 Windows 控件的数量。这 + 在启动时初始化所有表单意味着我们消除了您在“按需”创建新 Windows 控件时出现的明显停顿。

显然,只有在滚动大型应用程序时才真正值得做这种事情。我们有大约 20 多种不同类型的 View ,总共使用了大约 7 种不同的布局。这会使我们的初始化例程(因为我们在启动时加载表单)损失了大约 10 秒,但从心理上讲,大多数用户愿意在启动时接受这样的打击,而不是在运行时出现明显的停顿。

我书中 P&P 库的主要问题是它是一个 FF -> CF 端口,并且由于两个平台之间的某些不兼容性和性能差异,您会失去很多有用的功能。

顺便说一下,this是迄今为止我读过的关于 MVC/MVP 的最全面的文章。对于 Windows 应用程序(桌面或 CE),我建议使用没有交互、命令和选择的 Taligent Model-View-Presenter 版本(例如 Controller /演示器执行所有工作)。

关于c# - Compact Framework - 是否有可用的 MVC 框架/库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26355/

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