`
mmdev
  • 浏览: 13243241 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

一种新的基于Windows Mobile平台的移动开发N层架构(第六部分)

阅读更多

一种新的移动N层体系结构( 6 )

在这部分,我将更为实际的展示从代码角度来看这一新的移动架构第一部分看起来会是个什么样子,如果您需要了解一些背景,请参阅本系列前面部分:

这个已经实现的架构被发布在CodePlex一个名字为Windows Mobile Architecture Blueprint的架构里,这意味着您可以访问完整的源代码并进行讨论,提出改进建议等等,当我带着你纵览整个架构时,我建议你身边放一份源代码以方便查看更详细的信息。

nwdatacontext好吧,让我们自下而上开始建立这个体系结构。为简单起见(记住KISS原则),我从一个承载业务域的普通类库Blueprint.Domain开始。我的第一个域将涵盖经典Northwind数据库的一小部分。我先创建一个叫做Northwind的LINQ2SQL数据上下文,然后把两个Northwind表拖进去(如果你像我一样,并没有安装Northwind数据库,您可以从这里得到http://msdn.microsoft.com/en-us/library/ms165732.aspx),正如你右边所看到的(注意我已从类别中删除了图片域,以节省带宽)。

当这个做到以后,一个简单方便的技巧就是在数据上下文的设计图中选择属性并设置序列化模式为单向。通过完成这个简单的任务,这个数据上下文生成的代码将包含必要的修饰(属性),使数据上下文可以通过WCF发布。如果我们看一下生成代码的简略版(在Northwind.designer.cs里)...

public partial class NorthwindDataContext : System.Data.Linq.DataContext
{
[DataContract()]
public partial class Category
{
[DataMember(Order=1)]
public int CategoryID
{

...你会看到,每个类(实体)有一个DataContract属性,每个字段(属性)有一个DataMember属性。这些属性在通讯的时候将被WCF使用。

在上面的代码中,也请注意,生成的数据上下文类(NorthwindDataContext)被声明为“partial”,这完全符合我们把业务逻辑实现在一个并行类里的意图。通过建立这样一个类(Northwind.cs),以及放置一些简单的代码像这样...

public partial class NorthwindDataContext
{
public Category[] GetCategories()
{
return Categories.ToArray();
}
}

...我们已于首个业务域里实现了第一个(尽管稀少)服务,功能是返回所有类别列表。请注意在幕后,LINQ发挥了作用,为了展示一个更明显的例子,我们可以改为这样做...

var q = from c in Categories select c;
return q.ToArray();

...这将创造和上面的代码相同的结果。有一个事实早就值得一提,就是即使类别实体拥有和那个类别中所有产品的关系,这些子实体并不会默认加载。这是一件好事,因为你可能不希望加载所有产品的所有类别,但当你想加载相关实体的时候,你也可以做得到:通过一个显式的调用...

var q = from c in Categories select c;
Category[] categories = q.ToArray();
categories[0].Products.Load();

...加载所有产品的第一类。还有其他一些选项用于控制如何加载相关实体,但它已经超出了这个博客帖子的讨论范围。在后续的帖子中,我将覆盖更多Windows Mobile Architecture Blueprint的实现。

分享到:
评论

相关推荐

    中星微发力移动通信领域,发布高性能应用处理器和基于微软Windows Mobile的开放式移动平台.pdf

    5. **多芯片MirrorBit HD-SIM解决方案**:这是一种结合了Discretix安全平台的新型多芯片SIM卡解决方案,计划于2008年第四季度推出样品,并在2009年第一季度量产。该解决方案具有多种通信接口,如USB、MMC/SD、SWP和...

    WCF for Windows Mobile 6

    总之,《WCF Guidance for Mobile Developers》全面覆盖了从开发环境搭建到服务设计、合同管理、异常处理、安全通信及最终部署的全过程,为希望在Windows Mobile 6平台上利用WCF创建强大移动应用的开发者提供了一站...

    基于手机软件平台的架构分析

    这需要综合考虑各个平台的优缺点,构建一种能够适应不同操作系统和硬件环境的架构模型。 总结来说,手机软件架构设计是一项复杂任务,涉及到操作系统、硬件、性能和用户体验等多个方面。通过深入理解各平台的架构...

    windows mobile 短信集成飞信源码

    在移动通信领域,飞信作为一种融合了传统短信与互联网通讯的工具,曾经在中国市场上广受欢迎。本文将深入探讨如何在Windows Mobile操作系统上实现短信与飞信的集成,主要基于提供的“jFxion-J2ME”源码进行分析。 ...

    windows mobile手机的发送短信的程序

    1. **嵌入式开发**:Windows Mobile平台的开发属于嵌入式系统开发的一部分,这意味着我们需要了解嵌入式硬件环境,如处理器架构(通常基于ARM),内存管理以及功耗控制。开发者通常使用Visual Studio或Microsoft ...

    第三部分 MEC系统架构1

    在第三部分"MEC系统架构"中,我们将深入探讨构成MEC(Mobile Edge Computing,移动边缘计算)核心的组件和设计原则。MEC是一种将计算能力和网络功能推向网络边缘的技术,旨在降低延迟,提高带宽效率,并为用户提供...

    移动MAS机开发相关

    移动MAS机,全称为Mobile Application Server,是一种专为移动设备提供服务的应用服务器。它在企业移动信息化中扮演着重要角色,为企业提供了与移动设备进行数据交互、应用部署和管理的平台。MAS机主要关注于安全、...

    移动互联网的缘起、架构及实现机制解析.pdf

    诸如IPv6(互联网协议第六版)、NFC(近场通信)、各种移动应用协议等新技术的出现,进一步推动了移动互联网的创新和发展。CNNIC的报告以及各种专业指南、参考文献对于深入理解移动互联网的缘起、架构和实现机制提供...

    开发一个简单的Mobile应用程序.rar_Csharp C/S_csharp 下载_mobile_下载

    C#(读作"C sharp")是一种面向对象的编程语言,由微软公司为.NET框架开发,广泛应用于桌面应用、游戏开发以及移动应用等领域。C/S(Client/Server)架构指的是客户端-服务器模型,其中客户端应用程序与远程服务器...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...

    MTK平台软件架构.ppt

    MTK(MediaTek)平台是联发科技推出的一种全面的移动设备解决方案,尤其在智能手机领域广泛应用。MTK的模式被称为“Turn-key”,意味着它提供了一种即插即用的方案,使得手机制造商只需添加定制化的外观和少量软件,...

    J2me 手机开发入门教程[1]

    J2ME(Java 2 Micro Edition)是Sun Microsystems为嵌入式系统和移动设备开发的一种Java平台。它由KVM(K Virtual Machine)虚拟机和一组API组成,适用于资源有限的设备。KVM占用内存小,可以在低性能处理器上运行,...

    基于j2me的手机游戏开发

    Java 2 Micro Edition(J2ME)是一种轻量级的Java平台,主要用于移动设备、嵌入式系统和智能电器等。在2000年代初,J2ME是手机游戏开发的主要平台,尤其在非智能手机(如诺基亚的Symbian系统手机)上广泛应用。本篇...

    professional_cross-platform_mobile_development_in_c

    本书介绍如何使用C#语言来开发可以在多个平台(如Android、iOS等)上运行的应用程序,同时强调了跨平台开发中的架构选择、用户体验设计、开发环境搭建等重要方面。 知识点一:跨平台移动应用开发概述 在本书的引言...

    Research_on_Mobile_Location_Service_Design_Based

    本文提出了一种基于Android平台的移动定位服务设计方法。具体而言,通过以下几个方面展示了其实现过程: 1. **自我定位**:利用Android提供的API轻松实现用户当前位置的获取。 2. **绘制行驶轨迹**:能够实时记录并...

    移动车联网增值服务平台架构设计.pdf

    根据提供的文件内容,以下是移动车联网增值服务平台架构设计的相关知识点分析: 1. 移动车联网的基本概念:移动车联网(Mobile Internet of Vehicles, MIOV)是指将移动通信技术应用于车辆与车辆、车辆与道路基础...

    基于J2ME五子棋游戏开发论文

    五子棋是一种古老且受欢迎的棋类游戏,简单易学,但策略性强,适合各年龄段的玩家。将五子棋游戏移植到手机平台上,不仅可以满足用户在闲暇时间娱乐的需求,还能通过网络对战功能增强用户之间的互动性。 第二章 ...

Global site tag (gtag.js) - Google Analytics