我的应用程序将根据请求从数据库中检索信息并从该信息中生成一个对象。我目前正在考虑两种不同的技术(但我也向其他人开放!)来完成这项任务:
方法一:
class Book {
private int id;
private String author;
private String title;
public Book(int id) {
ResultSet book = getBookFromDatabaseById(id);
this.id = book.id;
this.author = book.author;
// ...
}
}
方法二:
public class Book {
private HashMap<String, Object> propertyContainer;
public Book(int id) {
this.propertyContainer = getBookFromDatabaseById(id);
}
public Object getProperty(String propertyKey) {
return this.propertyContainer.get(propertyKey);
}
}
使用方法一,我相信更容易控制、限制和可能访问属性,但是添加新属性,使用方法二会变得更顺畅。
这样做的正确方法是什么?