设为首页 加入收藏

TOP

17.9.1 开发人员对于设备无关代码的探索
2013-10-07 01:06:45 来源: 作者: 【 】 浏览:72
Tags:17.9.1 开发 人员 对于 设备 无关 代码 探索

17.9.1  开发人员对于设备无关代码的探索

对于设计与目标无关的代码,实现中并不总是值得去这样做。因此,何时应该设计与设备无关的代码,而何时又不需要这样做呢?在下面的两种极端情况下,其答案显而易见。

如果设计代码专门针对基于屏幕的UI,它不应该是与目标无关的代码(虽然可能希望实现尺寸无关性)。

如果代码主要是为打印而设计,并且也针对用于编辑的、基于屏幕的UI,则应该是与设备无关的代码。

应用程序工具栏可以与设备非常相关,菜单和对话框也可以如此(虽然对于对话框,一些尺寸无关性可能非常有用)。另一方面,供字处理器使用的文本视图应该与设备无关;可能面向打印机的映射程序也应该与设备无关。

得到答案只是一个起点,还有许多困难的、不一样的情况。必须考虑设备的实际情况,即使是在编写与设备最无关的代码时,也应该如此。

当目标设备受到CPU功率和显示分辨率的相对限制时,这些设备对代码的影响将会更大。使用高清晰度的显示和接近无限大的CPU功率时,可以渲染任何内容,而不用考虑舍入误差、缩放等情况。使用较低清晰度的显示、较慢的CPU和不带浮点处理的处理器时,就必须更加仔细地进行图形设计和编程(www.cppentry.com)。

在地图应用程序中,进行缩放不仅需要考虑缩放比例,还需要考虑可视性。在一个地图的高级视图中,希望看见任意的海岸线、一些主要的城市、大的河流和任意边界。在一个放大的城市视图中,想看见地区名称、地铁站和公共设施等。在高级视图中,不希望以较小的缩放比例绘制这些细节,而是应该完全忽略它们。并且,这种忽略是与设备相关的:在相同的缩放级别上,可打印的视图中可以包括比屏幕上视图更多的次要特征,因为大多数打印机都有比屏幕更高的清晰度。

地图中也包含其他许多复杂因素,例如对齐标签与特征物、线性元素比如道路的横向缩放,并且其他许多应用程序也需要考虑这些因素。幸运的是,一般不需要在掌上设备上编辑地图,因此,不需要快速重新格式化代码,而在文字处理程序中则需要使用它。最终,打印机和屏幕视图之间将具有更好的共享代码。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇17.9.2 应用程序中与尺寸和目标无.. 下一篇17.9.3 与设备无关的绘制(5)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: