一种新的移动N层体系结构(第4部分)
这次,我们更密切的关注用户界面侧的变化。我想说的是运用MVC模式(或其变体,MVP模式),尽管这个变化远非最近才发生(所提到的两个模式均已经存在很长一段时间),但其重要性却大大增加了。原因是自动测试,TDD,以及持续集成(continous integration)伴随着敏捷开发的理念得到了越来越多的关注。通过应用MVC模式,用户界面逻辑的测试可以独立于实际的用户界面。这个以及更为传统意义上的益处,也就是你可以用不同的“视图”(用户界面或更一般的,通道)来展示相同的用户界面逻辑,使得MVC模式成为任何现代移动软件架构中公共的部分。
如果在网络在做一些浏览,你可以很快发现很多MVC模式的实现,不过没有多少是面向Windows Mobile开发者的(尽管大多数.NET实现的迁移并不费事)。一个很好的作品是微软模式和实践团队所开发的MCSF,它包含了MVC模式的一个强壮的实现(在众多其他模式中),该实现把各种应用模块迁移到整体的.Net框架中。然而,MCSF过于强壮,它需要花费相当多的时间来学习而后才能见到成效。而且,MCSF也有点过时了,从缺少新的消息和内容更新上判断,我不怀有多大期望。
社区(我也一样)期待更简单的东西,而且在某些项目中,我已经使用了由我前任研究员MVP,Alex Yakhnin(现在已经是微软雇员) 的一个简洁明了的实现,他为此在去年秋天发表过一系列短小的博客。在这些帖子中,Alex还展示了一个解决一个非常普遍的关于构造Windows Mobile完美用户体验的问题的简单方案,也就是Form缓存处理。加载一个Form对于性能而言是一件代价昂贵的事情,因此很有必要缓存Form在内存里。
在接下来的帖子中,我将更多的讨论关于现代移动架构上变化的想法,当然会有一些代码示例,以在实践中阐明理论。
分享到:
相关推荐
5. **多芯片MirrorBit HD-SIM解决方案**:这是一种结合了Discretix安全平台的新型多芯片SIM卡解决方案,计划于2008年第四季度推出样品,并在2009年第一季度量产。该解决方案具有多种通信接口,如USB、MMC/SD、SWP和...
这需要综合考虑各个平台的优缺点,构建一种能够适应不同操作系统和硬件环境的架构模型。 总结来说,手机软件架构设计是一项复杂任务,涉及到操作系统、硬件、性能和用户体验等多个方面。通过深入理解各平台的架构...
在移动通信领域,飞信作为一种融合了传统短信与互联网通讯的工具,曾经在中国市场上广受欢迎。本文将深入探讨如何在Windows Mobile操作系统上实现短信与飞信的集成,主要基于提供的“jFxion-J2ME”源码进行分析。 ...
本文档主要介绍了基于Android手机平台的吃豆人游戏设计与开发,涵盖了移动设备的发展趋势、Android系统的介绍、国内外手机系统的现状、Android系统的应用和开发等方面的知识点。 1. 移动设备的发展趋势 随着移动...
1. **嵌入式开发**:Windows Mobile平台的开发属于嵌入式系统开发的一部分,这意味着我们需要了解嵌入式硬件环境,如处理器架构(通常基于ARM),内存管理以及功耗控制。开发者通常使用Visual Studio或Microsoft ...
在移动设备上开发条码识别软件是一种常见的需求,尤其是在物流、零售和库存管理等领域。本文将深入探讨如何利用Qt框架为HTC Windows Mobile设备开发一款高效的条码识别软件,以实现快速、准确的数据采集。 首先,让...
HTML5是一种强大的技术,可以创建具有丰富用户界面和功能的应用,同时也支持跨平台和跨设备的访问。 首先,让我们来探究为什么开发者会倾向于选择HTML5来开发Web应用。主要的优势包括: 1. 跨系统、平台和浏览器:...
在第三部分"MEC系统架构"中,我们将深入探讨构成MEC(Mobile Edge Computing,移动边缘计算)核心的组件和设计原则。MEC是一种将计算能力和网络功能推向网络边缘的技术,旨在降低延迟,提高带宽效率,并为用户提供...
在Windows Mobile平台上,开发录音应用是一项常见的任务,尤其对于初学者来说,这通常是学习移动设备编程的第一步。本文将深入探讨如何使用C#语言编写一个简单的录音程序Demo,以及涉及的相关技术点。 首先,我们要...
移动MAS机,全称为Mobile Application Server,是一种专为移动设备提供服务的应用服务器。它在企业移动信息化中扮演着重要角色,为企业提供了与移动设备进行数据交互、应用部署和管理的平台。MAS机主要关注于安全、...
OSIOMA(Open Mobile Architecture)是另一种尝试,旨在为移动设备和服务提供更为开放和统一的体系结构,便于不同移动设备和服务之间的兼容性和互操作性。 随着互联网技术的不断进步,移动互联网应用和服务也在不断...
**JMAF(Java Mobile Application Framework)**是一个专为基于JAVA的移动应用程序设计的开发框架,旨在解决在移动开发过程中常见的问题,如程序结构不清晰、耦合度高,这不利于应用程序的扩展和维护。JMAF采用了**...
"第四十讲 开发一个简单的Mobile应用程序"很可能是一个教程的章节,详细介绍了如何使用C#来构建移动应用,可能涵盖了界面设计、事件处理、数据存储和网络请求等基本步骤。 对于想要学习C#移动开发的读者,这个资源...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
本文旨在介绍一种基于Windows Mobile的手机流媒体实时图像浏览客户端的软件设计,以满足用户对高效、稳定、实时的多媒体体验的需求。 系统的核心在于流媒体技术和网络传输技术的结合。流媒体系统需具备接收网络数据...