Authentication:
配置信息的本地存儲(跨平臺):
1 定義了AbstractConfigurationRedgistry接口。在不同的平臺上實現該接口。
2 定義了 ServerEntry LibraryEntry ConnectorEntry ProxyEntry等平臺無關的Bean。所有實現AbstractConfigurationRedgistry接口的類使用這些Bean。
3 在Windows平臺上是存儲在註冊表中(爲了與DI一致),其他平臺利用Eclipse的。。功能
文檔緩存:
1 什麼時候需要緩存(在本地保存副本)
2 在什麼地方緩存
3 什麼時候使用這些緩存
跨Service平臺:
1 定義了與Service平臺無關的Service Provider接口和異常
2 在不同的插件中實現spi
3 針對不同的ServiceProvider創建不同的session,並把該sp提供的服務保存在session中。每個文檔有serverUrl屬性,可以在註冊表中查詢其personalality(屬於哪個sp)。在sessionManager這個單例中查找相應的session,以調用正確的sp服務。
4 定義了獨立於sp的去對象化的模型ServiceData。
UI的快速反映:
1 在執行網絡操作的時候啓動新的線程(非UI線程),在UI上顯示pending圖標(代理模式的應用)
2 在進行網絡操作之前,進行必要的檢查,避免不合法的調用,以減少網絡操作的次數和簡化錯誤處理的模式
3 在不需要load的情況下儘量少的load(每次重新進入原來打開過的頁面的時候並不是全部執行網絡load的操作,通過isloaded標記來判斷是否已經load過,通過shouldload()方法來判斷是否需要load,如果不需要load則使用contentProvider實現的getDeferredElements()方法來提供內容)
可複用的UI組件:
1 使用Eclipse插件技術。別的Connector直接應用我們的ui插件就可以使用已經定義好的UI組件
2 定義獨立於底層service概念的模型。
支持代理服務器訪問:
1 使用stub的代理設置機制
執行本地應用(瀏覽器,mail客戶端):
1
文檔模型的靈活性(獨立於Service的模型定義,適應變化,使用靈活):
多國語言:
1 使用UIMessages_en.property來存儲相應的界面文字素材
2 在UIMessages.java記錄查詢key