如何開發一個框架或中介軟體

weixin_33850890發表於2019-01-15

開發框架(以下均指框架和中介軟體)。

從需求出發。

開發框架首先是從需求出發,包括收集開發人員的需求,自己構思軟體需求。比如說RPC框架,需求可能是遠端呼叫,IP固定。也可能是需要有負載均衡的功能,但是功能也未必是必須有的。所以,需要做什麼功能,功能1,功能2,功能3。框架的開發,一般也是從簡單到深入。可能一個正在使用的框架,只有最簡單的功能。經過不斷升級,才發展為功能豐富的框架。

設計API

API設計主要是給框架的使用者來使用的,這裡可能有一些設計原則,比如說介面升級不能破壞原有介面。更多的細節可以參考一下6大設計原則和23種設計模式。

元件化

一個好的框架,肯定不會幾個七零八落的類組合的,而是有具體的元件,比如說網路通訊模組,資料庫訪問模組,序列化模組。做好元件化,可以讓軟體更好的擴充套件。不僅如此,元件化的部分有時候可能會涉及到生命週期管理,比如說spring的bean有銷燬回撥方法,servlet也有銷燬,新建等方法。這些方法都是給使用者在一定時期去做一些事情。

擴充套件

好的框架都是支援擴充套件的,比如說序列化。可能第三方人員不想使用jdk序列化,想擴充套件出自己的序列化方式去替換原有的序列化。這裡需要定義可擴充套件介面。可擴充套件介面的發現可能會用到SPI這種方式。

過濾器,攔截器,外掛

過濾器,攔截器,外掛等的功能比較類似,在軟體啟動和執行過程中的很多個階段,都可能會用到這些功能。

日誌

軟體應該支援豐富的日誌。

相關文章