【发布时间】:2012-08-30 09:09:03
【问题描述】:
我目前正在开发一个 android 应用程序,因为我需要访问数据库,所以我决定使用 dao 模式。目前,我了解这种模式的概念。
在我的应用程序中,我有我的业务对象。例如,让我们考虑 order 和 payment 对象。让我们假设一个订单作为支付类型的变量。在数据库中,订单表的每条记录都将有一个用于支付表的外键,用于保持订单与其支付之间的关联。问题是,由于 dao 应该彼此完全独立,OrderDao 不会“知道” PaymentDao,那么我如何实例化一个带有相应支付实例的订单对象呢?这让我很困惑...... OrderDao 将无法返回一个订单实例,因为这个实例需要一个支付实例.. 我可以做一些“技巧”,比如 OrderDao 返回一个初始化为付款的实例只有它的 id,稍后在业务逻辑中,获取该 id 并使用 PaymentDao 检索支付实例并将其设置为之前的顺序......但这听起来不太好......
这应该怎么做?
只是为了让我对类结构的解释更容易:
public class Order {
private int id;
private Payment payment;
......
}
public class Payment {
private int id;
....
}
我没有使用任何框架的原因是因为在我的数据库中,我需要一些表来保存一些已翻译的字符串。例如,如果我们有一个类别表,我将有一个 categories_i18n 表,对于每个分类表中的记录,在某些语言中会有相应的翻译..
提前致谢。
【问题讨论】:
标签: design-patterns dao