`
jinghuainfo
  • 浏览: 1524309 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

我们手机平台的几个基础模型

 
阅读更多

我们手机平台的几个基础模型

转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd

作者联系方式:Li XianJing <xianjimli at hotmail dot com>

更新时间:2006-12-19

我们从设计这个手机平台开始,就一直不遗余力的贯彻三个基本设计模型:C/S模型、插件式设计和MVC模型。随着平台的演化,这些模型已经开始显现出威力。这里我们简单介绍一下,欢迎交流。

C/S模型:把多进程共享的功能集中到服务器中。好处是:

1. 串行化对临界资源的访问。比如对声音设备的访问,电话、短信、彩信、相机和媒体播放器等等,可能要播放声音或者使用MIC,我们通过一个mplayerservice的后台服务进程来仲裁和调度,保证对声音设备的有序访问。

2. 避免使用共享内存,提高平台的稳定性。共享内存是个好东西,它是在进程之间共享数据最快的方法。但是用得过多,或者用得不好,很容易引起崩溃或者死锁,导致系统的稳定性下降。采用C/S模型可以减少对共享内存的使用。

3. 简化应用程序的开发。我们最大限度的抽取界面无关的代码,这些代码一部分以函数库的形式提供,一部分以服务的方式提供。比如MMI服务进程做了大量的工作,如处理短信的编/解码和管理电话状态等等。这样,MMI应用程序的开发得到很大简化,电话和短信等应用程序的实现都只要两三周时间了。

4. 隔离硬件平台,让应用程序与硬件无关。比如,关机状态的ALARM处理是硬件相关,由于硬件方案没有确定,目前没有确定具体的实现方案。由于这是在ALARM服务进程中处理的,到时候硬件方案确定时,只需要修改alarm服务进程一个地方,相关应用程序都不必关心。

5. 限制用户权限。我们手机平台与其它类似平台的一个很大差别就是,应用程序不在root用户下运行,降低权限可以提高数据的安全性。但有的操作必须在root用户下才能执行,我们让特定服务进程处理这些操作,这样就解决了用户权限的问题。

6. 便于自动测试。服务进程是与界面无关的,大部分功能都可以自动测试。

插件式设计:独立的功能以插件方式提供。好处是:

1. 隔离功能变化。通过插件方式,增加新功能时,不需要修改现有代码。比如在文件管理器中,把文件发送出去,现在有彩信和邮件两种方式。以后可能还会增加通过MSN或者无线传输发送。采用插件式设计,到时候只要增加两个插件就行了。

2. 方便第三方定制。我们精力有限,可能只实现一些常用功能,其它高级功能可以由第三方进行定制开发,插件式设计为定制开发提供了一种简单的方式。比如基于MMI短信插件,可以方便的进行短信过滤或者远程控制。

3. 简化系统复杂度。把具体的功能从框架中剥离出来,尽管这些插件仍然要自己实现,工作量似乎没有减少,但是分离合理,各个组件的复杂度大为降低,实现起来更为简单。

4. 减小应用程序之间的耦合。桌面是一个很好的例子,它与很多应用程序都有关联,比如电话、名片、短信、彩信、邮件、日程和闹钟等等,基于插件式设计,桌面只是一个框架,具体功能由应用程序提供插件来实现,桌面与它们没有直接的耦合。

MVC模型:用MVC模型分离界面和逻辑代码。好处是:

1. 分离界面和实现,隔离界面的变化。界面是最容易变化的,在手机中也是如此,SPEC组和测试组在改善可用性时,通常会调整界面,这是一个持续的过程。把实现代码从界面代码中分离出来,从而免受界面修改带来的影响。

2. 保证界面一致更新。这也正是MVC模型的优点之一。在手机中,界面更新一致性的问题,很容易引起麻烦。比如在短信中,新事件列表、短信列表、短信选择和短信阅读等界面,它们都对应同一份数据,一处更新(如删除),要同时更新到相关界面上。通过MVC模型,这种更新变得相当自然。

3. 便于自动测试。分离界面和实现,这是自动测试的前提,这里不多说了。

~~end~~

分享到:
评论

相关推荐

    Axure手机模型.zip

    Axure手机模型。有几个简单的原型设计手机模型。这几个是最基础的。后续还会收集更多好看的手机电脑模型。

    大米CMS PC建站和手机建站系统

    10:国内CMS首创MSYQL表万能管理模型,输入MYSQL表名即可生成一个有增删改功能的管理模型,可快速在此基础上开发出自己想要的管理功能! 11:配备手机数据交互接口JSON格式API 大米平台在线生成安卓APK应用特点: (1...

    智慧云仓储物流云平台建设方案.docx

    智慧云仓储物流云平台建设方案主要包括以下几个方面: 平台架构设计:采用云计算、大数据、物联网等技术,设计一个开放、可扩展的智慧云仓储物流云平台架构。该架构包括基础设施层、平台层、应用层和用户层,每一层...

    从魅力品质到伟大产品-用卡诺模型分析用户体验

    昨天和陈总等一干人等去吃以服务或者更加确切地说是用户体验出名的海底捞火锅,吃完之后,几位没吃过海底捞的海鳖那是“当场就震惊了”,以这个为引子,我想用顾客满意度的经典模型归纳一下我对用户体验的一些理解。...

    Cloud Native App

    从基础环境的支撑视角,云计算服务商面向移动App需要解决的几个核心问题包括: " 跨平台: 移动App需要面对多个OS平台,在研发资源和迭代周期上都会带来巨大的挑战。一站式跨平台研发框架将有助于应用进入市场的节奏...

    《智能财务基础》PPT第3章-智能财务报告.pptx

    通过内存计算的应用,以往多个维度进行聚合需要数小时才能完成的计算结果,在内存计算技术下,可以在几秒内完成千万级数据聚合汇总 《智能财务基础》PPT第3章-智能财务报告全文共34页,当前为第8页。 3.1.3洞悉多维...

    EUCMS智能建站系统(含手机站) v5.10.20

    EUCMS内容管理系统是基于asp+access/mssql架构的智能建站系统,集电脑版、手机版、平板版、微信、APP于一体,无缝切换,手机站和电脑站所有URL完全一样,非常利于seo,一个后台同步管理。 后台功能使用上更是站在...

    云计算基础技术与应用-计算机网络.pptx

    从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。 从用户角度看,计算机网络是一个能为用户自动管理的网络操作...

    无线传感器网络安全关键技术研究.doc

    从无线传感器网 络的加密技术、密钥的分配与管理和安全框架协议几个方面入手,分析了现行各种技术 的利弊,界定了其适用范围,并对今后的研究方向提出了一些看法。 关键词:无线传感器网络;安全技术;密钥管理;...

    基于OpenGL的Android+3D游戏开发技术详解与典型案例(源码)

     第4章 千里之行,始于足下—3D开发基础知识本章介绍了3D开发中的基础知识,包括OpenGL ES的介绍及OpenGL ES中绘制模型的原理,并通过点、线和三角形的绘制介绍了OpenGL ES中模型的几种绘制方式。最后介绍了3D场景...

    Multi-Tool for HUAWEI & HONOR v8

    我们需要有几个人愿意提供帮助。更重要的是对自己的工具完成的工作,开始开发和改造,当模型仍然是新是非常重要的。 HUAWEI&HONOR的多功能工具 HUAWEI&HONOR的多功能工具 HUAWEI&HONOR的多功能工具 HUAWEI&...

    微信小程序开发基础,需要的同学自行下载

    页面由几部分组成 常见组件如何使用 发布上线 前言: 一、小程序与普通网页的开发区别 1、运行环境不同 网页运行在浏览器 小程序运行在微信环境中 2、API不同 由于运行环境不同,所以小程序中无法调用DOM和...

    云计算基础技术与应用-计算机网络.pdf

    从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算 机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。 从用户角度看,计算机网络是一个能为用户自动管理的网络...

    齐博分类信息门户系统商业版-破解版

    每个城市可以设置独立的目录,设置独立的首页,设置独立的域名,独立管理各个城市的信息,对每个城市设置不同的管理员,这对做大做强的基础也是团队分工管理的必要手段。 智能防采集功能 可以实现自定义手机号码、QQ...

    H3BPM 试用系统操作手册

     通过【数据模型】的【关联关系】,通过1:1或1:N的对应关系把多个【数据模型】关联起来,如:建立Vendor表和Material表的1:N的关系。 业务场景 需要操作数据库表,数据库可以是H3的数据库,或者是第三方的数据...

    齐博分类信息系统 1.0.rar

    每个城市可以设置独立的目录,设置独立的首页,设置独立的域名,独立管理各个城市的信息,对每个城市设置不同的管理员,这对做大做强的基础也是团队分工管理的必要手段。 智能防采集功能 可以实现自定义手机号码...

    影响消费者接受人工智能技术的因素-研究论文

    本文从一个方面对技术接受模型进行了文献综述,并从消费者的行为和接受角度考虑了认知和感受,得出了一个包括自我认同和自由意志作为可能影响消费者对产品接受程度的人为因素的模型。智能手机和服务机器人中的人工...

    新版Android开发教程.rar

    也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...

    齐博分类信息V1.5带黄页商业破解版 多城市仿58同城

    每个城市可以设置独立的目录,设置独立的首页,设置独立的二级域名,独立管理各个城市的信息,对每个城市设置不同的管理员,这对做大做强的基础也是团队分工管理的必要手段。 强大的地区分类信息管理功能 可以...

    微信数据库分析与设计.docx

    在实现微信的通信功能主要是使用用户信息、普通消息记录、微信群信息、群聊消息记录和联系人信息这几个实体。 在明确所需实体后根据实际需要对于每个实体设置符合实际情况的属性,每个属性对应了数据库中的具体属性...

Global site tag (gtag.js) - Google Analytics