域层和持久层是指相同还是不同。 域层是我们通常映射到数据库表的DAO吗?那么持久层意味着相同还是更多呢?
如果我们调用POJO将数据库表映射为DAO,我们说的是那些驻留查询执行并填充DAO(POJOS)的类。
最佳做法是什么?将查询执行代码保存在那些POJO中还是将它们作为一个单独的类?我的意思是假设A是数据库表A的类映射。我们是否需要实现像ADaoImpl这样的单独类来放置类A的查询相关代码?我相信它不对吗?最好的做法是保持所有DAO对象在一个名为RDBMSDaoImpl的类中与所有DAO类相关的填充,查询执行等。所以我们将该类称为属于DAO层的应用程序的DAO实现类对吗?
总结一下,POJOS(DAO)和DAOImpl是我们应用程序的DAO层吗?并且持久层是..?
感谢。
答案 0 :(得分:2)
维基百科:“业务逻辑层(BLL),也称为域层”。这就是服务层,您可以在其中执行业务逻辑。持久层负责操作数据库,服务层使用它。
(顺便说一下,我更喜欢“服务层”而不是“贫乏的应用程序中的”域层“ - 也就是说,应用程序包含无状态,胖服务和只有getter和setter的域对象。)
答案 1 :(得分:1)
域层是您为对象和应用程序功能建模的地方。如果要构建开票应用程序,则域图层应包含Invoice,Vat和InvoiceItem对象。 dao层负责从存储中检索和保存对象(RDMS数据库,NoSQL数据库等)。 在你的代码中你可以有像
这样的东西public InvoiceDao {
public void insert(Invoice invoice) {
//use your database api to insert invoice
}
}
答案 2 :(得分:0)
1-持久层:是处理数据库的层, 它由一组映射数据库的类和其上的所有操作组成 表。 summery:您将数据库与业务层分开。 2-业务(DAL):从持久层中存在的类中启动(创建)对象。