分析方法论探讨之设计意图.pdfVIP

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分析方法论探讨之设计意图 为什么要研究 Android,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的 渴望,渴望理解这种复杂性。我研究的对象是作为手机开发平台的 Android 软件系统部分, 而不是 Dalvik 虚拟机本身。 作为一个从其他平台装接过来的程序员,要从事 Andoid 平台系统开发,我的关于手机平台 上积累的知识已经不能满足需要了,Android 为我们带来了大量的新名词,Activity, Manifest,INTENT,Service,Binder,Dalvik 虚拟机,Framework,Linux,Navtive ,JNI。 通过在源代码,在开发社区,在开发博客,甚至在招聘过程中,我不断的寻求 Android 是什 么。经过一定时间的沉淀,我慢慢的理解到 Android 不仅仅是一类手机的总称,不仅仅是一 个手机开发平台,不仅仅是一个虚拟 java 操作系统,不仅仅是一个开发社区,一个开发标 准,不仅仅是一堆代码,Android 已经成了一个新的潮流。 代码多,系统复杂,纵观社区中 Android 的研究者,一开始从源代码分析 Android就走向迷 途,不断的跋山涉水,向纵深冲刺,最终脑袋堆栈不够用,迷失在开始的旅程,或者挂在半 途中,鲜有通达者。我感觉到大部分的研究者总是忘记站在高山上向下望一望设计者的意图, 一味的随着代码的控制流走入繁杂的谜团,陷入到复杂性的深渊。 我的研究分析是从设计者的意图出发,从抽象的甚至从哲学的高度,从最简单的系统原型开 始,从设计猜想开始,而不是一开始就从代码分析展开。首先理解 Android 大的运行框架, 主干流程,系统原型,之后再用源代码分析充实之。当然我这里的设计者意图并不是真正的 Android 设计者意图,而是我以为的 Android 设计者意图。 要理解设计者意图,就需要抽象。我们需要在哲学意义空间中去考虑系统的描述,即系统在 本质上要表达什么。在逻辑空间上去考虑系统基本构成和动态结构。从现实到虚拟对象的映 射去理解系统对象的组成,在从数据流的角度分析数据的产生者和消费者之间作用关系,从 控制流的角度去分析对象之间的交互关系,从函数调用去分析具体的层次关系。 在系统设计上,原型是最能表达哲学空间和逻辑空间中系统本质的东西,原型是事物本质的 第一层体现。我以为任何复杂的系统都一个简洁的系统原型,都有它简洁的意义。系统原型 是设计者意图的第一体现,所以我们需要从几个方向上去提炼系统原型: (1)从系统本质和基本原理出发 (2)从分析系统数据流和控制流分析出发。 从设计者意图出发,得出系统原型,提取到大的逻辑结构和系统构成是第一步。之后我们可 以从设计者的角度考虑系统猜想系统设计,为什么要这样设计,为什么要有这些构成。这样 的基本原型是什么?系统的限制是什么,应用场景有哪些,有些设计的引进还是系统收敛性 而为之呢。我们还可以从代码痕迹上去分析,这些概念是如何的得来的?从一定的抽象和高 度去理解这些问题,遵循系统原型出发之原则,在深入分析代码的时候,就不容易陷入细节 中。我们就可以随时跳出来想,这些代码在整体上载表达一个什么概念,在描绘一个什么逻 辑,他要构成一个虚拟层吗?他是在管理这个硬件吗?他在 虚拟这个对象吗?他在构建管 理机构?还是在构建一个对象管理?空间管理,为了快速引入了什么样的复杂算法,实际上 的原型算法应该是什么样的? 只有深入到这个抽象层次,我们才能很好的把握住系统的每一条线,每一个对象的意义。只 用从原型出发,我们才能把握住这个系统的实质所在,在干什么?他要表达什么?设计者为 什么要这样想?最终极的想法是什么?这样,代码分析就变得简单明了,读代码就变成了是 在印证猜想,修正方向。 方法论探讨之概念空间篇 我们潜意识就不想用计算机的方式来思考问题,我们有自己的思维描述方式,越是接近 我们思维描述方式,我们越容易接受和使用。各种计算机语言,建模工具,不外乎就是建立 一个更接近人的思维方式的概念空间,再使用工具从该概念空间向另外一个概念空间映射, 我称之为人性思维空间向 01 序列描述空间的一个映射。实现方面来看,系统就是一个翻译 器,将机器性更加人性化的一种机制。大学计算机经典课“计算机体系结构”,其他的可以 忘记,但是下面这个图不能忘记:

文档评论(0)

max + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档