Android:理想的框架开发母板——高焕堂
依據(jù)《第三智慧》一書作者Danah Zohar的研究,東方人頭腦思維偏向模擬(如Neural-network)模型,而西方人偏向牛頓的推里(如Rule-based)思維習(xí)慣。根據(jù)筆者多年來參與軟件框架開發(fā)經(jīng)驗,有深有同感。例如,我們開車到一個城市,發(fā)現(xiàn)有許多人都把車停在斑馬線上,并且打開引擎蓋。依據(jù)東方人的思維習(xí)慣,會記住這樣的情境,有需要臨時停車時,也會依法炮制。而西方人則會先想到交通規(guī)則,發(fā)現(xiàn)那是違背規(guī)則的,即使依法炮制,心中也會念念不忘那是違「規(guī)」的。
換句話說,東方人思維習(xí)慣善于觀察、模仿與跟進。因此尋找一個模板或模板(Template)來做為各種創(chuàng)新性討論議題的出發(fā)點,并逐步討論、取得共識,經(jīng)常能獲得意想不到的好效果。
在軟件框架開發(fā)時,上述途徑的效果尤其顯著。由于Android是開源且完整可執(zhí)行的框架平臺,所以我特別喜歡拿Android來做為框架的開發(fā)母板,基于此母板來開發(fā)自己的框架,并且在其平臺上執(zhí)行、進行實際測試。真的經(jīng)常能獲得意想不到的好效果。
如何做好框架(Framework)呢?
禮記學(xué)記篇 有言:「良弓之子,必學(xué)為箕」。其中的箕就是弓的框架,沒有好好學(xué)做框架,就不會有優(yōu)越的弓(和箭)。同樣地,沒有好好學(xué)做軟件的框架,就不會有優(yōu)越的軟件系統(tǒng)了。
為什么 禮記學(xué)記篇 要特別強調(diào):「為箕」的重要性呢? 因為在中華文化和歷史里,蠻強調(diào)「愚公移山」的持之以恒精神。例如,在軟件界里,西方的微軟公司耗費巨資發(fā)展.NET框架(即為箕—-就像畚箕),而東方國度的數(shù)十億愚公競相使用畚箕(即使用.NET)來挑泰山之土,比賽誰最有毅力、姿勢最漂亮!!
為什么東方眾多軟件人員只能當(dāng)愚公呢?依據(jù)筆者自從1995年出版<<應(yīng)用框架技術(shù)入門與實務(wù)>>一書以來,親自參與多個框架開發(fā)項目,也獲得許多架構(gòu)師的回饋。從筆者的研究,東方人頭腦思維偏向模擬(如Neural-network)模型,而非牛頓的推里思維(如Rule-based),所以在抽象層面,框架設(shè)計團隊成員之間比較難以取得共識(Agreement)。而偏偏框架顧名思義,它必須是抽像的、共識的,才能容納各式各樣的具象的軟件系統(tǒng)。
東方人做框架的康莊大道
東方人思維習(xí)慣有其優(yōu)越性,也有其弱點,并不需要改變。而是尋找如何彌補東方人思維的不足,發(fā)展全腦思維,并能順利取得抽像設(shè)計之共識,將是一條具有高度意義和商業(yè)價值的康莊大道。
東方人善于觀察、模仿與跟進,因此尋找一個模板(Template)來做為討論議題的出發(fā)點,并逐步討論與改善,經(jīng)常能獲得意想不到的好效果:比西方人更容易取得共識,而且能有實際的進展和產(chǎn)出。因為實際的產(chǎn)出,吸引團隊積極跟進,整個項目就像飛輪一般漸入佳境了。
Android是優(yōu)越的范本
東方人最容易接受的開源(Open Source)的軟件模板。因為源代碼是具象的,其執(zhí)行邏輯是完整清晰的,而且是可執(zhí)行測試的。自從2007年Google推出Android開源框架以來,Android 成為東方嵌入式軟件領(lǐng)域(包括手機、電信產(chǎn)業(yè))最具有代表性的Framework開發(fā)模板。
Android更是框架的開發(fā)母板
Android本身是個可執(zhí)行的完整框架平臺。它具有如下特性:
開放源碼
力與美均衡:在如手機的有限資源、電信的大量數(shù)據(jù)壓力下,好用與效率必須兼具。Android使用Java與C++雙語言,藉由JNI來銜接,是個優(yōu)越的設(shè)計樣本。
善用設(shè)計模式(Design Patterns)。
IPC Binder機制:這是高效率的遠(yuǎn)距溝通機制。
線程(Thread)模型。
安全(Security)機制。
UI架構(gòu)。
網(wǎng)絡(luò)服務(wù)機制。
Intent-based 溝通機制。
等等。
人人皆可基于這個開發(fā)母板,而開發(fā)自己擅長領(lǐng)域的框架,并融入到Android框架里,一起執(zhí)行,立即能看到框架的實際運作情形。
結(jié)論
東方人團隊發(fā)展框架時,經(jīng)常陷入共識難求的困境里,這并非單靠精致的軟件技術(shù)所能解決的。例如,Message Queue、Thread model等都是常常出現(xiàn)公說公有理、婆說婆有理的困境里。甚至,將整個Spring框架納入自己的框架里,導(dǎo)致無法滿足高效率的需求,引來眾多人的質(zhì)疑,更陷入無共識的深淵里。
今天,上述困境可輕易使用Android開放框架為母板來加以化解。一旦遠(yuǎn)離了上述的困境和深淵,則東方人開發(fā)之路就會晴空萬里了。
???? (原文http://www.miiceic.org.cn/07/0702/070201/200911161437373.asp)
?
?
?
中程在線(北京)科技有限公司
中國信息產(chǎn)業(yè)培訓(xùn)網(wǎng)
www.miiceic.org.cn
咨詢熱線:400-7068-123
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/miiceic/archive/2009/11/27/1611863.html
總結(jié)
以上是生活随笔為你收集整理的Android:理想的框架开发母板——高焕堂的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: View 4桌面虚拟化炙手可热 但未熟透
- 下一篇: [Android1.5]DigitalC