早就有想法寫一批通用的DLL了,畢竟平時的工作很多,使用第三方架構對項目適應度不會很滿意,所以還不如自己抽時間寫一套自己用著舒服的架構,於是花了幾個月的時間完成了這個項目的開發,本系列的文章將分幾部分為大家介紹一下這個項目和這些庫檔案的使用。
架構的名字叫做IsLine FrameWork(以下簡稱ILFW),它不是行業業務架構,但可以作為程式員開發項目的套件,使用這套底層套件開發系統,可以簡化代碼,提高代碼品質。ILFW主要包括DataProvider、AppLogProvider、ExceptionProcessProvider、HttpContentProvider、IsLineFrameWork、SecurityProvider、TaskQueueProvider 7個模組,其中依賴關係如下:
圖 1.1 依賴關係
本系列文章介紹的重點在於日誌、異常、資料三個模組,其他的安全、網路等模組也會同時有所介紹。
日誌模組是仿照Log4Net架構編寫,不但可以將日誌資訊記錄至不同介質,還可以為每一個程式中的元素提供單獨的日誌屬性,並且這些屬性只需要修改設定檔即可完成,這是與Log4Net不同的。
異常模組可以為全域定義一個統一的異常展示平台,這個模組繼承自日誌模組,擴充了發生異常後如何處理的功能,使用者只需修改設定檔即可改變異常展示方式。
Data模組比較老道,但我覺得它很實用,這個模組完美對支援ORALCE、SQL SERVER的所有操作,支援事物處理、多資料庫連接等。同時它還對XML、文字檔、.config檔案等有著完美的讀寫支援。它將ADO對象分為連線導向與非串連,分別實現,對於這兩種方式的資源分派與釋放做出了最佳化,力求唯寫一句代碼即可完成對資料來源的操作,並支援使用者用反射的方式構造自己的DataProvicdr,但要實現相同介面。
HttpContent模組對常用的持久化對象,例如Session、Cookie、Cache等進行封裝,採用同樣的介面來實現,同時對於這些對象的屬性,採用配置的方式定義,不需在程式中出現屬性的定義,這就為整站提供了一個唯一的屬性入口,提高了可控性。
Security模組定義了一些常用的加密的演算法,DataProvider中的串連串加密就是這個模組實現的。
寫到這相信大家已經對這個項目有了大體印象了,下面的文章將為大家詳細介紹這個項目的命名空間結構、配置列表與調用方法,歡迎大家指導。
突然發現寫代碼和玩攝影是一樣的,經常聽到攝友們大讚某某牛頭怎麼怎麼好,其實有幾個人能把那些白色紅圈發揮極致的?畢竟我們只是屬於那大多數人中的一員,ILFW是解決日常工作的通用類庫,雖不是牛頭,但我知道它一定適合大多數人。
(未完 待續)
我是李鳴(Aicken) 歡迎您關注我的下一篇文章。