在这一系列的前面部分,我已经讨论了影响到架构设计的变化。现在是时候总结所有这些带来了什么样的架构智慧,我建议的架构应该是下面这个样子:
大部分基础部件(三个层次,公共服务等),甚至许多更具体的(服务接口/代理,数据存取,商业实体等)实际上和Application Architecture for .NET完全一样,我已经在这一系列的博客帖子提到过。
请注意,一个重大变化是较低部分中间层(商业服务)和底层(数据服务)中的合并。正如我之前所述,这是业务逻辑和数据一个很好的混合称为业务域。通过LINQ到SQL技术和WCF,大多数(如果不是全部的话)数据服务层实际上是使用代码生成器创建的。这意味着,所做的针对不同来源(数据来源和服务)的任何更改可通过重新生成代码来捕获到。这种支持工具实际上正是为系统之间集成的演变而准备的,一个简单的“更新服务参考”菜单的选择就是我们所需要做的全部。
另一项类似的变化是明确区分服务接口和业务域。如果业务域有明确的职责来处理逻辑和数据的某些业务领域,服务接口(根据外观模式facade pattern设计)则有不同的职责。主要的区别是服务接口可能实现了特定部分的系统功能(用例)。另外,因为他们是“第一道防线”,他们应该处理像基本安全(认证,授权,加密等),以及可靠的编码技术(参数检查,防止SQL /代码注入等),压缩,交易,记录等这样的事情。这种和业务域的分离的一个自然的结果是服务可以被放在一个单独的程序集里。这是一件好事,因为一个服务接口有可能使用了一些业务域,也许(或也许不)存在于多个程序集中。
最后,用户界面部分已被更名为和使用MVC模式保持一致,在先前的文章已经提到,这将能更好地测试和使用相同的用户界面逻辑于不同的客户端(ASP.NET建立的瘦Web界面,WinForms构造的丰富的接口,WPF或Silverlight,当然还有使用.NET CF以及很快将会实现的Silverlight构造的移动客户端。
在接下来的帖子中,我将更多的讨论关于现代移动架构上变化的想法,当然会有一些代码示例,以在实践中阐明理论。敬请期待!
相关推荐
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 ...
随着HTML5技术的成熟与普及,基于HTML5的移动应用开发(HTML5 Mobile Apps)正逐渐成为开发者的首选。HTML5是一种强大的技术,可以创建具有丰富用户界面和功能的应用,同时也支持跨平台和跨设备的访问。 首先,让...
在第三部分"MEC系统架构"中,我们将深入探讨构成MEC(Mobile Edge Computing,移动边缘计算)核心的组件和设计原则。MEC是一种将计算能力和网络功能推向网络边缘的技术,旨在降低延迟,提高带宽效率,并为用户提供...
在Windows Mobile平台上,开发录音应用是一项常见的任务,尤其对于初学者来说,这通常是学习移动设备编程的第一步。本文将深入探讨如何使用C#语言编写一个简单的录音程序Demo,以及涉及的相关技术点。 首先,我们要...
移动MAS机,全称为Mobile Application Server,是一种专为移动设备提供服务的应用服务器。它在企业移动信息化中扮演着重要角色,为企业提供了与移动设备进行数据交互、应用部署和管理的平台。MAS机主要关注于安全、...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
**JMAF(Java Mobile Application Framework)**是一个专为基于JAVA的移动应用程序设计的开发框架,旨在解决在移动开发过程中常见的问题,如程序结构不清晰、耦合度高,这不利于应用程序的扩展和维护。JMAF采用了**...
C#(读作"C sharp")是一种面向对象的编程语言,由微软公司为.NET框架开发,广泛应用于桌面应用、游戏开发以及移动应用等领域。C/S(Client/Server)架构指的是客户端-服务器模型,其中客户端应用程序与远程服务器...
智能手机是一种具有独立操作系统的移动设备,可以支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。智能手机具有五大特点...
MTK(MediaTek)平台是联发科技推出的一种全面的移动设备解决方案,尤其在智能手机领域广泛应用。MTK的模式被称为“Turn-key”,意味着它提供了一种即插即用的方案,使得手机制造商只需添加定制化的外观和少量软件,...
5G即第五代移动通信技术,是目前最前沿的移动通信技术。与4G相比,5G不仅提高了数据传输速率,更重要的是显著降低了通信延迟和提高了连接的可靠性,这为实现车路协同提供了可靠的技术基础。5G技术在车路协同自动驾驶...
J2ME(Java 2 Micro Edition)是Sun Microsystems为嵌入式系统和移动设备开发的一种Java平台。它由KVM(K Virtual Machine)虚拟机和一组API组成,适用于资源有限的设备。KVM占用内存小,可以在低性能处理器上运行,...
Java 2 Micro Edition(J2ME)是一种轻量级的Java平台,主要用于移动设备、嵌入式系统和智能电器等。在2000年代初,J2ME是手机游戏开发的主要平台,尤其在非智能手机(如诺基亚的Symbian系统手机)上广泛应用。本篇...