posts - 27,  comments - 0,  trackbacks - 0

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

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

           

          1. 使用靈活

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

          2. 保持核心的穩定性

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

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

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

          4. 文檔一體性

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

          5. 方便的外延性

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

          6. 現有資產的可復用性

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

          7. 資產的可積累性

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

           

           


           

           

           

           歡迎入住我們的框架生態圈:http://web.j2ee.top。本例涉及的代碼和框架資料,將會在論壇分享。《自己動手寫框架》成員QQ群:228977971,讓我們一起動手,了解框架的奧秘! 

           

           


           

           

          posted on 2015-06-07 11:10 柏然 閱讀(2543) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2015年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宕昌县| 邹平县| 江都市| 平阴县| 理塘县| 河源市| 上高县| 丹棱县| 宽甸| 台安县| 麻栗坡县| 牙克石市| 迁安市| 兴安盟| 临夏县| 宜州市| 汶上县| 双鸭山市| 金寨县| 汕尾市| 濉溪县| 朝阳区| 施甸县| 洱源县| 建湖县| 孟村| 秭归县| 新宾| 樟树市| 荔浦县| 南皮县| 安吉县| 岳池县| 班玛县| 汉沽区| 德惠市| 上栗县| 咸丰县| 衡阳市| 遂溪县| 铜鼓县|