您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

Android:抱負的框架開辟母板

发布日期:2011-04-10

  媒介

  依據《第三伶俐》一書作者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開放框架為母板來加以化解。一旦闊別了上述的窘境和深淵,則東方人開辟之路就會晴空萬里了。