移动应用的架构约束

        架构设计是在平衡各种约束条件,比如运行环境、接口标准、人员因素、技术因素、办公条件等等,具体到移动应用软件,其架构设计又有哪些特殊的约束条件呢?


        首先是运算能力。移动应用主要的运行环境是移动设备如各种手机、嵌入式设备、平板电脑等。这些设备相比于PC机,其运算能力是低一些。运算能力的高低会决定我们在设计时要将大运算量的模块如何分解和放置的问题。由于移动设备的运算能力相对较低,所以浮点运算是要减少的,大运算量操作也最好放置于服务器端。以手机导航软件为例,当在两个地点之间计算导航路线时,是需要进行对较大量的运算的,这样的运算如果由运算能力更高的服务器来承担,就可以降低对移动设备硬件的要求,也是软件保持高性能的手段。

        其二是网络能力。移动网络采用的是无线传输,在带宽、稳定性上相比PC的有线网络有明显的劣势。网络形态也有多种,Wi-Fi、GPRS、EDGE、CDMA1X、WCDMA、TD-SCDMA、CDMA2000、TD-LTE等目前都可以使用,另外受运营商的限制,还对应不同的接入点,比如CMNET和CMWAP的区别,这些都给网络访问带来了复杂性,是在架构具有网络访问能力的软件时必须要搞清楚的。另外,网络流量比PC要昂贵得多,在网络上传输的数据要越少越好。

        其三是可移植性。移动设备种类繁多,表现能力也千差万别。仅就屏幕尺寸就分为2.8、3.0、3.2、3.4、3.5……屏幕分辨率也包括QVGA、VGA、WVGA……再加上颜色数、像素密度等其他参数,会让我们的界面部分受到很大的影响,这也需要在设计时要充分考虑UI展现的适配性问题。在操作习惯上也与PC的鼠标键盘方式差异较大,目前主流的触摸屏操作甚至手势操作,都是架构设计时要考虑的因素,对可移植性有较大影响。

        还有数据存储。移动设备的存储空间相对于PC而言会小很多,因此数据的存储是另一个约束条件,无论是使用数据库还是文件,都要小心规划存储的内容和容量。另外,可插拔的存储卡不是持久有效的,很多移动设备在连接PC时存储卡会被卸载,这时软件中要有对应的措施。


        当然,还有很多因素,架构师必须对这些约束进行充分考虑,以达到为移动设备进行应用架构设计的目标。


——欢迎转载,请注明出处 http://blog.csdn.net/caowenbin ——



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
现代设计方法是一种综合应用计算机科学、数学、工程学等多个领域的设计方法,旨在实现高效、精确、可靠、可持续的产品设计和制造。 坐标轮换法是现代设计方法中的一种常用技术,可以应用于多个领域的优化问题,包括无约束优化问题。下面以最小化 Rosenbrock 函数为例,演示如何使用 MATLAB 中的坐标轮换法求解无约束优化问题。 Rosenbrock 函数是一个经典的无约束优化问题,其公式如下: $$f(x_1, x_2) = (1 - x_1)^2 + 100(x_2 - x_1^2)^2$$ 该函数的最小值在 $(x_1, x_2) = (1, 1)$ 处,是一个具有窄而深的山谷结构的函数。 使用坐标轮换法求解 Rosenbrock 函数的最小值,可以按照如下步骤进行: 1. 初始化变量 $x_1$ 和 $x_2$,并设定迭代次数 $n$。 2. 进行 $n$ 次坐标轮换,每次都向右移动一位,并将最后一个元素赋值为当前的 $x_1$ 或 $x_2$。 3. 计算当前坐标轮换后的 $x_1$ 和 $x_2$ 对应的 Rosenbrock 函数值,取最小值作为当前的最优解。 4. 将最优解作为下一次迭代的初始值,重复步骤 2-3 直到达到设定的迭代次数。 下面是一个简单的 MATLAB 程序,用于求解 Rosenbrock 函数的最小值: ```matlab function res = coordinateRotationOptimization() % 使用坐标轮换法求解 Rosenbrock 函数的最小值 % 初始化参数 n = 1000; % 迭代次数 x = [-1, -1]; % 初始值 for i = 1 : n % 进行 n 次坐标轮换 x = circshift(x, [0 1]); % 向右移动一位 x(2) = x(1); % 将最后一个元素赋值为当前的 x1 % 计算 Rosenbrock 函数值,并取最小值 f1 = (1 - x(1))^2 + 100 * (x(2) - x(1)^2)^2; x(1) = x(2); % 将最后一个元素赋值为当前的 x2 f2 = (1 - x(1))^2 + 100 * (x(2) - x(1)^2)^2; if f1 < f2 x(2) = x(1); end end res = x; % 返回最优解 end ``` 该程序中使用了 MATLAB 自带的 `circshift` 函数进行坐标轮换,同时计算了每个坐标轮换后的 Rosenbrock 函数值,并取最小值作为当前的最优解。最终,程序返回的结果为 Rosenbrock 函数的最小值点 $(x_1, x_2)$。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文斌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值