【发布时间】:2013-02-07 11:21:48
【问题描述】:
我正在处理需要从不同数据源/格式创建对象的项目。我想知道组织源代码的最佳方法是什么。
假设我有 User 类,我希望能够从数据库和 JSON 中的数据创建对象。它的目的是让我的应用程序的用户在线和离线浏览数据。我正在使用 GSON 和 ORMLite。此外,JSON 和数据库中的字段可能不同,但“主要”字段是相同的。创建包含来自 JSON 和数据库的所有属性/字段的类是个好主意吗?类似于下面的类:
@DatabaseTable(tableName = "user", daoClass = UserDaoImpl.class)
public class User {
public static final String ID_FIELD_NAME = "id";
public static final String USER_LOGIN_FIELD_NAME = "login";
public static final String USER_EMAIL_FIELD_NAME = "email";
public static final String SERIALIZED_COUNTRY_FIELD_NAME = "user_county";
// DB & JSON
@DatabaseField(generatedId = true, columnName = ID_FIELD_NAME)
int id;
// DB & JSON
@DatabaseField(columnName = USER_LOGIN_FIELD_NAME)
String login;
//DB & JSON
@DatabaseField(columnName = USER_EMAIL_FIELD_NAME)
String email;
//Only JSON
@SerializedName(SERIALIZED_COUNTRY_FIELD_NAME)
String country;
public Track() {
}
}
【问题讨论】:
-
你打算做什么?
-
我正在创建移动应用程序,用户可以在其中在线浏览其他用户以及何时将数据保存到数据库。我希望能够在用户离线或在线时轻松地在数据源之间切换。如果在线 - 我从 Web 服务器获取 JSON 并将其显示给用户,如果离线 - 我显示来自数据库的数据。
-
明白了,期待吗?
标签: java design-patterns gson ormlite