分佈式輕量級框架 設計&實現 3 - 定義基礎包

這部分的代碼在 ios

https://github.com/terrymanu/miracle-framework/tree/master/miracle-framework-commongit

建立一個framework-common子項目。分紅framework-lang和framework-util兩個子模塊。github

定義一些基礎類和工具類。數據庫

lang模塊網絡

lang包 運維

定義抽象類BaseObject,實現equals,hashcode和toString方法,經過反射讀取屬性。而且提供一個構造器,能夠傳入須要忽略的屬性名。工具

定義一個常量類,把一些經常使用的東西放進去。目前只想到了System.getProperty("line.separator"),之後有再加吧。spa

exception包 日誌

定義全局的異常。異常分3種code

SystemException 系統異常,直接繼承RuntimeException。用於封裝數據庫連不上,網絡出問題等情況。出現這種異常須要寫入Error日誌,並通知Nagios監控軟件,向相關運維人員發短信或郵件報警。這種異常程序沒法處理,通常須要手工干預,如重啓機器等。

LogicException 邏輯異常,繼承Exception。用於封裝如校驗失敗,餘額不足之類的異常。不能直接顯示異常信息給用戶,而是須要catch住,進行處理。

UserException 屬於用戶輸入所致使的異常。不須要catch,能夠直接返回給前臺顯示,可是須要考慮多語言,能夠將異常的key映射到多語言資源文件。

util模塊

reflection包

封裝一些經常使用的反射調用,如獲得全部的靜態屬性,等。若是有好的第三方包,能夠直接替代,待調研。

collection包

提供一些快捷的collection轉換。如將string集合直接轉換成class集合。直接使用guava的內部類轉換方式感受不是很是直觀,因此經常使用的能夠再此封裝一層。

encoding包

提供字符集轉碼的工具類。

相關文章
相關標籤/搜索