2018年10月12日 星期五

有儲存參數時會發生的設計錯誤

場景描述

我們設計了一個UI管理器,此UI管理器可以載入不同的子UI。子UI是由不同的服務所提供。第一次使用時,使用者可以新增子UI。新增完畢後,可以儲存此設定。供下次程式重新啟動時再次回復到上次已增加過子UI的狀態。

問題描述

當程式重開要從設定載入子UI時,由於子UI是由服務而來。若設定中需要的服務不存在時,就會有資料載入失敗的問題,因為資料是要放在UI中,而服務目前不存在。由於我們想要做到資料只是資料,在資料沒有開始運用前,即使服務不在,也不應該影響資料的載入。因此不應該服務不在就無法將資料載入。

問題起因

我們讓子UI是由服務產生,而資料又要放在子UI上。所以造成資料一定要有子UI,而子UI又一定要有服務造成。

問題解法

  1. 讓子UI獨立出來,不屬於服務。這樣就可以在沒有服務的情境下產生子UI。缺點是服務沒有辦法依照自己的需求產生子UI
  2. 讓資料不要透過子UI顯示。如將資料全部轉成字串再以特定符號相連。但這對使用者的體驗不佳

沒有留言:

張貼留言