鍍金池/ 教程/ Java/ 高屋建瓴,理念先行
分布式鎖的簡單實現(xiàn)
關于框架體系與戰(zhàn)術的思考
開源與中小型軟件公司的未來趨勢
生態(tài)圈的建立
用200行的DBF解析器來展示良好架構設計
緣起
業(yè)務流程引擎設計
軟件開發(fā)雜談
高屋建瓴,理念先行
借船下海還是造船下海
Web界面快速開發(fā)實踐
教計算機程序解數(shù)學題
量身定制規(guī)則引擎,適應多變業(yè)務場景
緩存相關代碼的演變
理想的開源框架與設計原則
框架2.0的設計梳理
與屈原對話及開源精神

高屋建瓴,理念先行

《史記·高祖本紀》:“地勢便利,其以下兵于諸侯,譬猶居高屋之上建瓴水也?!边@里用到了高屋建瓴這個詞。意思是把瓶子里的水從高層頂上傾倒。比喻居高臨下,不可阻遏的形勢?,F(xiàn)指對事物把握全面,了解透徹。此典故于漢高祖劉邦欲殺功臣韓信,大夫田肯進言到"陛下牢牢地控制著三秦(關中),陛下利用這雄險的地勢,來控制、駕御諸侯,就如從高高的屋脊上把水從瓶子里倒下去?!币源藖肀碚庙n信的功勞,于是,劉邦赦免了韓信,只是將他降為淮陰侯。

同樣,設計企業(yè)框架,也要對事物把握全面,了解透徹。我們設計框架的時候,考慮了以下理念。

1. 使用靈活

可以整個使用它,也可以只用它的一個或幾個部分。一個完整的框架可能需要有許許多多個部分組成,但是對于實際應用的用戶來說,它可能只需要其中的一部分功能。構架一定要有這種能力,可以由使用者進行點菜式,使用,避免只要用一點點功能,就要引入許許多多的內容。

2. 保持核心的穩(wěn)定性

我們所設計的框架,是立足于在需要穩(wěn)定、安全要求非常高的應用環(huán)境中使用的,因此其穩(wěn)定性就是框架構建者首要思考目標,核心部分只使用經過充驗證及廣泛應用的第三方包。在構建過程中,曾經復用了某飽受贊譽基金會下的一個2.0版的開源包,結果在應用過程中出現(xiàn)了嚴重的內存泄露問題,最后不得已花費了非常大的工作量才清理干凈,這也更讓我們對選擇第三方包的審慎。

3. 學習成本低、上手容易

框架的學習成本必須非常低,這樣才可以讓使用者更容易上手,避免由于學習難度大而導致的學習曲線太陡、太長。經過許多次的實踐,我們總結出來:有基礎的JAVA開發(fā)人員經過半天的培訓,就可以完全學會基于Tiny框架進行開發(fā),經過1天到兩天的實踐就會變成熟手。對框架進行擴展或基于框架擴展接口進行擴展,則需要3天左右的培訓,就可以完全掌握,經過一周的實踐就會變成熟手。

4. 文檔一體性

做一個好的軟件,好的文檔是必不可少的。而做軟件過程中非常撓頭的就是文檔了,文檔寫得早了,后期變化過程中又不對文件進行不斷的調整,工作量非常大,稍不注意,又會導致文檔與實際不對應;文檔寫得晚些吧,又可能會流于形式。Tiny框架在構建之初就深刻的考慮這個問題。這個問題主要涉及幾個軟件的參與者:Tiny框架擴展者:Tiny框架很多的時候都是一個體系而已,更多的內容需要后期進行擴展,這些擴展的內容的文檔如何編寫,是需要考慮的問題。Tiny框架使用者:Tiny框架的使用者,主要使用Tiny框架來進行業(yè)務開發(fā),他在開發(fā)過程中需要用于Tiny框架擴展者擴展的組件,他們期望看到這些組件的最新文檔,同時又不希望看到許多與自己無關的內容,同時在開發(fā)過程中,又不想到許多地方去查找這些文檔,最后是在自己的開發(fā)環(huán)境就可以隨時看到。Tiny組件庫管理者:當TIny框架擴展者把這些擴展組件添加到組件庫之后,也希望能有一種方式,方便的展現(xiàn)這些組件,方便Tiny框架的使用者選用?;赥iny框架開發(fā)的業(yè)務系統(tǒng):這些系統(tǒng)中有許多對外的服務,而服務需要有文檔說明,Tiny框架提供了這些服務文檔的生成功能,這樣就可以保證服務與服務文檔的一致性。所以TIny框架的構建者,在各種組件中都有相關文檔描述的元數(shù)據(jù),這樣,不管是在工具還是在管理臺,都可以方便的查閱、導出這些文檔信息。

5. 方便的外延性

Tiny框架構建者也深深知道,自己不可能解決所有問題,所以,Tiny框架除了最小的核心之外所有的部分都是可選的、可替換的。Tiny框架對于第三方包的使用也完全持開放態(tài)度,這個可以完全由使用者自行選擇,不做任何限制

6. 現(xiàn)有資產的可復用性

由于考慮到企業(yè)應用的場景,Tiny框架構建者也知道,不可能所有的項目都是從零開始的,一定有一些項目是在現(xiàn)有基礎上進行重新開發(fā)或者重構的,不管是哪種情況都需要把其中的一部分或者大部分復用起來,以充分降低成本、利用企業(yè)現(xiàn)有資產。

7. 資產的可積累性

只有易于知識積累,才可以真正做到越用越強。Tiny框架正是基于上述觀點,才提出一構建Tiny生態(tài)圈的概念。不管是私有生態(tài)圈還是共有生態(tài)圈,都是體現(xiàn)一種眾人拾柴火焰高的思維,一起來擴展、一起來復用。當然Tiny框架也意識到光有口號是不行的,一定要有規(guī)范和機制進行保障,所以在Tiny框架中,許多地方都涉及到規(guī)范、元數(shù)據(jù)等內容,以實現(xiàn)資產可積累、復用的目標。由于考慮到企業(yè)應用的場景,Tiny框架構建者也知道,不可能所有的項目都是從零開始的,一定有一些項目是在現(xiàn)有基礎上進行重新開發(fā)或者重構的,不管是哪種情況都需要把其中的一部分或者大部分復用起來,以充分降低成本、利用企業(yè)現(xiàn)有資產。