gpt4 book ai didi

java - 设计模式——数据到对象

转载 作者:搜寻专家 更新时间:2023-11-01 03:23:17 27 4
gpt4 key购买 nike

假设我在文件或数据库中有一些数据。它可以是 JSON、XML、YAML、CSV、String[] 等。

我想用这些数据创建一个模型对象。例如:

数据:

{
"name": "John Doe",
"age": "30"
}

模型(伪代码):

class Person {
Person(name, age) {
this.name = name;
this.age = age;
}
// business logic
}

一些从 JSON 数据创建 Person 对象的代码(伪代码):

peopleArray = [];
recordSet = aJSONReader.read('file');
for (recordSet as r) {
peopleArray.add(new Person(r[0], r[1]));
}

您将使用什么从给定数据构建模型对象?在我的示例中,我将开始支持 JSON。如果我想更改它或支持新的数据格式怎么办?我如何解耦这段代码?哪种设计模式适合这里?

最佳答案

使用策略模式(参见here)。您希望提供不同的方法来解析数据。一种方法将解析 JSON,另一种方法将解析 XML,另一种方法将读取数据库。每个方法都可以看作是一种解析数据和生成数据对象的策略。

创建一个公共(public)接口(interface),比方说IDataObjectParser使用像 public List<DataObject> parse() 这样的单一方法.每个解析器都会实现这个接口(interface)。然后你可以随时交换解析器,例如在运行时或根据配置文件。

关于java - 设计模式——数据到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22985920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com