我找到了一篇由Microsoft员工撰写的关于这个主题的文章,但有没有人为此实现了更强大的框架?WinForms的轻量级框架是否可以轻松移植?我想快速加快速度并避免生成我自己的框架/库来处理这个问题,当有人聪明的时候已经这样做了.
我没有看过P&P集团的移动软件工厂,但我怀疑它有点沉重.值得一看吗?
编辑:我不是在寻找有关ASP.NET MVC项目的信息.我问的是紧凑框架的'WinForms'实现,以及如何用它实现MVC.
我个人认为移动软件工厂对CF没有太大的喜悦.我们仍在使用它的一部分(EventBroker),如果可能的话我甚至要删除那部分(因为它不支持通用事件,你必须将参数从EventArgs转换为强类型).工作中的姐妹项目将其用于部分UI,但由于性能问题不得不将其删除(另一个大项目,尽管它还有其他性能问题).
我在P&P lib提供的MVP框架中发现的问题是表单和控件OWN演示者而不是拥有表单的演示者/控制器(谁不读"它只是一个观点":实用程序员?).这非常适合MS的"Form First"快速应用程序开发咒语,但是当你考虑到CE中的窗口句柄有多贵时(如果你有很多这样的话),这很糟糕.我们在工作中运行一个非常大的CF应用程序,我们已经推出了自己的MVC框架.滚动自己并不困难,只需确保将所有内容分成控制器,视图,业务对象和服务,并使用UIController控制控制器之间的交互.
我们实际上更进一步,使用Controller-> View-> Layout模式重用表单/控件.控制器与通常相同,视图是将布局自定义到特定视图的对象,布局是实际的UserControl.然后我们将这些交换进一个表格.这大大减少了我们使用的Windows控件的数量.这个+在启动时初始化所有表单意味着我们消除了在"按需"创建新Windows控件时所获得的显着暂停.
显然,如果你正在推出一个大型应用程序,那么做这种事情真的是值得的.我们有大约20 +种不同类型的View,总共使用了大约7种不同的布局.这会伤害我们的初始化程序(因为我们在启动时加载表格)大约10秒钟,但心理上大多数用户愿意在启动时接受这样的命中,而不是在运行时期间明显的暂停.
我书中P&P库的主要问题是它是一个FF - > CF端口,由于两个平台之间的某些不兼容性和性能差异,你会失去很多有用的功能.
顺便说一句,这是远远地占据了最全面的文章中,我对MVC/MVP读过.对于Windows应用程序(桌面或CE)我会建议使用Taligent公司模型-视图-演示版本,没有互动,命令和选项(如控制器/主持人执行所有的工作).