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