我正在開發兩個應用程序。第一個是桌面java
應用程序,第二個是Android
應用程序。 這兩個應用程序必須在它們之間進行通信。現在什麼樣的架構最適合通信設備?
,他們進行通信通過XML文件,然後解析。問題是有很多不同的XML,當我解析它們時,我需要知道需要構建什麼對象。
對於我解析XML
的根,並根據予解析在「開關」結構其餘部分的名稱的時刻。它有效,但我認爲這不是最好的方法。
有人知道已經定義,可以幫助我設計模式或體系結構?
我正在開發兩個應用程序。第一個是桌面java
應用程序,第二個是Android
應用程序。 這兩個應用程序必須在它們之間進行通信。現在什麼樣的架構最適合通信設備?
,他們進行通信通過XML文件,然後解析。問題是有很多不同的XML,當我解析它們時,我需要知道需要構建什麼對象。
對於我解析XML
的根,並根據予解析在「開關」結構其餘部分的名稱的時刻。它有效,但我認爲這不是最好的方法。
有人知道已經定義,可以幫助我設計模式或體系結構?
如果我猜你正確的序列化/反序列化到/從XML,以便您的應用程序進行通信,所以你有對象通道的兩端。
如果是這樣,JAXB應該因爲覆蓋在桌面端您的需求,我不知道如果它與Android已經或者如果你有你的Android應用程序的apk大小限制。
如果你已經這樣做了,唯一的問題是如何擺脫「開關」,最後總會有某種選擇,它可能是一個語句或配置文件中的值,但是對於你來說這是工廠模式,但是我更多地閱讀abstract factory pattern,你已經有了它的基礎知識,也許這只是一個拋光它的問題,或者將值移動到配置文件並自動化創建過程,這將需要一個共同的界面,我敢肯定的對象。
希望幫助
我會建議依靠XML namespaces,而不是根元素名稱。這就是如何區分對象並在必要時通過XML Schemas進行驗證的方法。
謝謝您的解決方案,但最終我使用了抽象工廠模式。無論如何,我想感謝你的評論。 –
Upvote最喜歡的答案,並選擇其中之一作爲最好的 - 這就是你怎麼說「謝謝」在這個網站 – yegor256
謝謝。我試過你的解決方案,它似乎更好。 –