• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
中国信息产业培训网
博客园    首页    新随笔    联系   管理    订阅  订阅
Android:理想的框架开发母板——高焕堂
       前言

  依据《第三智慧》一书作者Danah Zohar的研究,东方人头脑思维偏向模拟(如Neural-network)模型,而西方人偏向牛顿的推里(如Rule-based)思维习惯。根据笔者多年来参与软件框架开发经验,有深有同感。例如,我们开车到一个城市,发现有许多人都把车停在斑马线上,并且打开引擎盖。依据东方人的思维习惯,会记住这样的情境,有需要临时停车时,也会依法炮制。而西方人则会先想到交通规则,发现那是违背规则的,即使依法炮制,心中也会念念不忘那是违「规」的。

  换句话说,东方人思维习惯善于观察、模仿与跟进。因此寻找一个模板或模板(Template)来做为各种创新性讨论议题的出发点,并逐步讨论、取得共识,经常能获得意想不到的好效果。

  在软件框架开发时,上述途径的效果尤其显着。由于Android是开源且完整可执行的框架平台,所以我特别喜欢拿Android来做为框架的开发母板,基于此母板来开发自己的框架,并且在其平台上执行、进行实际测试。真的经常能获得意想不到的好效果。

  如何做好框架(Framework)呢?

  礼记学记篇 有言:「良弓之子,必学为箕」。其中的箕就是弓的框架,没有好好学做框架,就不会有优越的弓(和箭)。同样地,没有好好学做软件的框架,就不会有优越的软件系统了。

  为什么 礼记学记篇 要特别强调:「为箕」的重要性呢? 因为在中华文化和历史里,蛮强调「愚公移山」的持之以恒精神。例如,在软件界里,西方的微软公司耗费巨资发展.NET框架(即为箕—-就像畚箕),而东方国度的数十亿愚公竞相使用畚箕(即使用.NET)来挑泰山之土,比赛谁最有毅力、姿势最漂亮!!

  为什么东方众多软件人员只能当愚公呢?依据笔者自从1995年出版<<应用框架技术入门与实务>>一书以来,亲自参与多个框架开发项目,也获得许多架构师的回馈。从笔者的研究,东方人头脑思维偏向模拟(如Neural-network)模型,而非牛顿的推里思维(如Rule-based),所以在抽象层面,框架设计团队成员之间比较难以取得共识(Agreement)。而偏偏框架顾名思义,它必须是抽像的、共识的,才能容纳各式各样的具象的软件系统。

  东方人做框架的康庄大道

  东方人思维习惯有其优越性,也有其弱点,并不需要改变。而是寻找如何弥补东方人思维的不足,发展全脑思维,并能顺利取得抽像设计之共识,将是一条具有高度意义和商业价值的康庄大道。

  东方人善于观察、模仿与跟进,因此寻找一个模板(Template)来做为讨论议题的出发点,并逐步讨论与改善,经常能获得意想不到的好效果:比西方人更容易取得共识,而且能有实际的进展和产出。因为实际的产出,吸引团队积极跟进,整个项目就像飞轮一般渐入佳境了。

  Android是优越的范本

  东方人最容易接受的开源(Open Source)的软件模板。因为源代码是具象的,其执行逻辑是完整清晰的,而且是可执行测试的。自从2007年Google推出Android开源框架以来,Android 成为东方嵌入式软件领域(包括手机、电信产业)最具有代表性的Framework开发模板。

  Android更是框架的开发母板

  Android本身是个可执行的完整框架平台。它具有如下特性:

  开放源码

  力与美均衡:在如手机的有限资源、电信的大量数据压力下,好用与效率必须兼具。Android使用Java与C++双语言,藉由JNI来衔接,是个优越的设计样本。

  善用设计模式(Design Patterns)。

  IPC Binder机制:这是高效率的远距沟通机制。

  线程(Thread)模型。

  安全(Security)机制。

  UI架构。

  网络服务机制。

  Intent-based 沟通机制。

  等等。

  人人皆可基于这个开发母板,而开发自己擅长领域的框架,并融入到Android框架里,一起执行,立即能看到框架的实际运作情形。

  结论

  东方人团队发展框架时,经常陷入共识难求的困境里,这并非单靠精致的软件技术所能解决的。例如,Message Queue、Thread model等都是常常出现公说公有理、婆说婆有理的困境里。甚至,将整个Spring框架纳入自己的框架里,导致无法满足高效率的需求,引来众多人的质疑,更陷入无共识的深渊里。

  今天,上述困境可轻易使用Android开放框架为母板来加以化解。一旦远离了上述的困境和深渊,则东方人开发之路就会晴空万里了。

     (原文http://www.miiceic.org.cn/07/0702/070201/200911161437373.asp)

 

 

 

中程在线(北京)科技有限公司
中国信息产业培训网
www.miiceic.org.cn
咨询热线:400-7068-123

 

 

posted on 2009-11-27 11:12  中国信息产业培训网  阅读(510)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3