仅将Mobile Application Blocks社区版本的一部分用于WM 6.x开发 [英] Using only parts of Mobile Application Blocks Community Release for WM 6.x development

查看:153
本文介绍了仅将Mobile Application Blocks社区版本的一部分用于WM 6.x开发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在规划业务分布式系统的体系结构,在非常相似的用例场景中,必须支持许多不同类型的不同设备.

I am in a process of planning an architecture for a line of business distributed system, where many different devices of different types must be supported in a very similar use cases scenarios.

在其他方面,我需要支持

Among others, I will need to support

  • 基于Windows Mobile 6.x的PDA
  • PC工作站

这些应用程序将提供非常简单的业务逻辑,因此我不想为此使用过分的体系结构.但是,我需要支持:

Those apps will serve pretty simple business logic, so I do not want to use overblown architecture for it. Yet, I need to support:

  • 远程更新
  • PDA(以及PC的可选连接)的大多数客户端断开连接情况

在研究适当的参考体系结构时,我偶然发现了移动应用程序阻止社区版本" 和对该版本的 Mobile Contribute 扩展.使我感兴趣的是:

While researching for the proper reference architecture, I stumbled upon Mobile Application Blocks Community Release and Mobile Contribute extension to that release. What kept me interested has been:

  • 断开连接的代理和连接监视器以支持大多数断开连接的客户端方案
  • 移动更新程序应用程序块以支持更新

我也知道台式机平台的 SCSF

I am also aware of the SCSF counterpart for the desktop platform.

现在,这是我的问题

  1. 以您的经验,对VS2008/WM6.x/.NET CF 3.5的MCSF扩展是否足够成熟和稳定以用于生产用途?我不想成为受害者,因为我正处于项目的中间,所以它并不真正适合商业用途.
  2. 由于该应用程序非常简单,因此我不想因MVP模式和其他与CAB相关的框架添加而使其过于复杂.我只需要支持上述方案.是否可以使用MCSF社区发布组件而不必以MCSF方式(带有命令,依赖项注入,MVP等)来构建整个应用程序?我想我将对简单的应用程序保持简单.
  3. 与台式机PC应用程序相同.我也认为,在这里使用完整的CAB/SCSF将是一个主要的矫kill过正,因为这实际上是要实现的一组非常简单的功能,但是我想通过利用更新程序和可能断开连接的程序来减少开发时间客户端块.只是没有复杂的UI部分(我将为UI创建普通的WinForms).有可能吗?

我还在研究是否有可能在PC和PDA之间共享与断开的客户端/远程更新相关的一些代码,但是我认为MCSF/SCSF无法实现.

I am also researching the possibility to share some of the code related to disconnected clients/remote updates between the PC and PDA, but I don't think that would be possible with MCSF/SCSF.

我将不胜感激某人的建议:)

I would appreciate an advice from someone who went down that road before me :)

推荐答案

  1. MCSF绝对可怕.看来,Microsoft中的某个人只是告诉没有经验的开发人员使用SCSF并使其正常工作".在紧凑框架上.那被翻译成如果编译,那就好了".因为这就是所有发生的事情.

  1. MCSF is absolutely horrible. It appears that someone in Microsoft simply told a developer with little experience to take the SCSF and "make it work" on the Compact Framework. That was translated as "if it compiles, then it's fine" because that's all that appears to have happened.

它运行吗?当然,但是蝙蝠侠的速度太慢了!在任何实际情况下,它都是完全无法使用的.太糟糕了,我从头开始写了一个替代文件,该替代文件维护了(大部分)接口兼容性,并且只包含最小的兼容性.功能集.

Does it run? Sure, but holy slowness Batman! It's completely unusable in any real-world scenario. It's bad enough that I wrote a replacement from the ground up that maintains (mostly) interface compatability and includes only a minimal set of features.

我发现,如果一个应用包含2个或更多视图,则值得使用MVP模式.在某些时候,您需要添加另一个视图,并且已经为它设计了视图.另外,将您的对象放入DI/IoC框架通常可以启用事件聚合之类的功能,即使在无头的应用程序中,它也非常有用,因此即使没有任何MVP,我最终仍会使用它.

I've found that if an app contains 2 views or more, then it's worth using the MVP pattern. At some point you'll need to add another view and you'll have already architected for it. Also, putting your objects into a DI/IoC framework often enables things like event aggregation, which I find terribly useful even in headless applications, so even without any MVP goo I end up using it.

我的书中的台式机没有什么不同.我创建的IoC库完全支持CF和FFx(以及MonoTouch和Phone 7),因为我在多个平台上进行了大量代码共享.我很少创建不使用桌面项目的情况.

The desktop is no different in my book. The IoC library I created supports both the CF and FFx identically (as well as MonoTouch and Phone 7) as I do a lot of code sharing across platforms. It's rare that I create a desktop project where I don't use it.

现在我并不是说您必须使用我的IoC项目.我发现它对我遇到的所有问题都很有用,而且我也很了解,当我遇到功能方面的缺失时,我可以快速添加它(尽管几个月来我还发现很多不足).如果您感到舒适或喜欢其他DI/IoC框架,那就很好用.我的意思是:a)逃避与MCSF有关的任何事情,并且b)使用DI/IoC框架,即使您认为该应用程序太简单了,因为其中根本没有像现实世界中的应用程序这样的东西太简单了,无法从中受益.

Now I'm not saying that you have to use my IoC project. I find it useful for all the problems I hit, and I know it well enough that when I hit a missing area of functionality, I can quickly add it (though I've not found much lacking in months). If you're comfortable or prefer another DI/IoC framework, then great, use that. What I am saying is a) run screaming away from anything that has to do with MCSF and b) use a DI/IoC framework, even if you think the app is too simple for one becasue there's no such thing as a real-world app that is too simple to benefit from it.

这篇关于仅将Mobile Application Blocks社区版本的一部分用于WM 6.x开发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆