🇺🇦A班的中谷⚢依瑪貓🇺🇦
試著在一個沒有Framework的Java Web系統上,自己刻 Provider 子系統,加上幾個自製的Provider。
🇺🇦A班的中谷⚢依瑪貓🇺🇦
會想刻Provider,是因為想減少,甚至消除幾個模組之間的相依性。
🇺🇦A班的中谷⚢依瑪貓🇺🇦
舉例來說,user provider提供帳號操作相關的功能。原先查詢使用者時,需要呼叫各個模組輪詢。透過統一的user provider介面,把幾個模組的user provider實作,在同一個地方註冊。要查詢使用者時,就不需要知道有哪些模組要輪詢,只要取得已註冊的user provider,一一輪詢即可。
🇺🇦A班的中谷⚢依瑪貓🇺🇦
於是,模組相依點,從散佈各處實際查詢的程式碼,轉移到user provider統一註冊點。需要新增帳號模組時,只要註冊新的user provider,就可以了,不用到散佈的各處,一一去調整程式。需要刪除帳號模組時,也是一樣。此時,模組間唯一的相依點,就只有Provider註冊處而已。
🇺🇦A班的中谷⚢依瑪貓🇺🇦
Provider的作用,是把模組提供的功能服務抽象化,把這些需要的功能,和它們的實作分開,變成可組裝拆卸的關係。減少模組相依,也強化模組可重覆利用性。
載入新的回覆