猿问

是否有一种模式可以在格式之间动态转换?

我的任务是创建一个管道来转换不同类型的输入,例如:

  • RESTful[JSON, XML, ...]

  • 套接字 [JSON, XML, ...]

  • 关系数据库管理系统

  • ...

然后使用他们给我的输出进行转换和操作,最后将它们发送回相同或另一个源/格式/结构。有没有一种模式可以帮助解决这种情况并使其尽可能抽象,因此无论来源和结构如何,我都可以切换对象?响应对象始终是一种集合形式:具有多个对象的 JSONArray、ResultSet、...

我的想法是创建一个“适配器类”,它能够接受一个 JSON 字符串、一个 XML 字符串甚至一个 RDBMS 数据集,这样我就可以使用这个适配器对象,然后将它转换回另一个结构:JSON 字符串、数据集、 ...

class AdapterClass

{

    //how could it look like?

}


class AdapterClassFactory

{

    //input

    public AdapterClass generateByJSONString(String input)

    public AdapterClass generateByXMLString(String input)

    public AdapterClass generateByResultSet(ResultSet input)

    public AdapterClass generateByCSV(String input)


    //output

    public String generateJSONString(AdapterClass input)

    public String generateXMLString(AdapterClass input)

    public ResultSet generateResultSet(AdapterClass input)

    public String generateCSV(AdapterClass input)

}

我想我只是脑子有点迟钝,但我脑子里想不出答案。感谢您的帮助。


皈依舞
浏览 147回答 1
1回答

蛊毒传说

您描述的内容可以通过像Apache Camel这样的集成框架来完成。它可以使用来自不同来源REST、JDBC和许多其他来源的数据。此外,它可以将数据转换为任何格式或从任何格式转换数据,因此它是高度可定制的。例如,您可以构建一个管道,如从 REST 端点读取数据 -> 将 JSON 解组为 POJO 类 -> 进行一些转换 -> 将 POJO 编组为 XML -> 将数据发送到另一个服务
随时随地看视频慕课网APP

相关分类

Java
我要回答