什么样的架构最适合通信设备?

时间:2012-09-11 11:42:37

标签: android xml design-patterns architecture xml-parsing

我正在开发两个应用程序。第一个是桌面java应用程序,第二个是Android应用程序。 这两个应用程序必须在它们之间进行通信。

现在,他们传递传递XML文件并进行解析。问题是有很多不同的XML,当我解析它们时,我需要知道需要构建什么对象。

目前,我解析了XML的根,并根据名称将剩余部分解析为“switch”结构。它有效,但我认为这不是最好的方式。

有人知道已经定义的设计模式或架构可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

如果我正确猜测你正在对XML进行序列化/反序列化以便你的应用程序进行通信,那么在通道的两端都有对象。

如果是这样,JAXB应该满足您在桌面端的需求,因为我不知道它是否已经安装了android或者你的Android应用程序有apk大小限制。

如果您已经这样做了,而您唯一的问题是如何摆脱“切换”,最终总会有某种选择,它可能是一个声明,或者配置文件中的值,但是在esscence中,这是你的工厂模式,但是我会在abstract factory pattern中读到更多内容,你已经掌握了它的基础知识,或许这只是抛光它,或者将值移到配置文件中并自动化创建过程,这需要我确定的对象的通用接口。

希望有所帮助

答案 1 :(得分:0)

我建议依赖XML namespaces而不是根元素名称。这就是你如何区分对象并在必要时使用XML Schemas验证它们。

除此之外,我认为您的协议应为RESTful,并考虑HATEOAS。 XML是这种架构的最佳语言。