java中的DAO模式什么是业务对象

Rol*_*all 6 java dao design-patterns java-ee

直接从关于J2EE DAO模式oracle的文章:

一切都非常清楚,但业务对象"参与者"(他们称之为).

在这里,我引用了一些我想要更多见解的内容(特别是有用的现实生活中的例子(一个简单的例子)).

BusinessObject的

BusinessObject表示数据客户端.对象需要访问数据源以获取和存储数据.除了访问数据源的servlet或辅助bean之外,BusinessObject还可以实现为会话bean,实体bean或其他Java对象.

我正在尝试将此模式用作练习(作为OCPJP的学生,它需要了解DAO模式).到目前为止,我有我的DataSource(mysql数据库),我的传输对象(JavaBean,名为Person)和我的DAO对象在数据库和JavaBean(Person)之间正确连接.

那又一个商业对象到底是什么?

提前致谢

Ren*_*ink 5

DAO 负责以独立于存储的方式获取业务对象。例如,您可以创建一个 DAO 来访问客户,例如

public interface CustomerDAO {
    public Customer getCustomerById(Integer id)

}
Run Code Online (Sandbox Code Playgroud)

然后在jdbc中实现数据访问

public class JdbcCustomerDao {

    public Customer getCustomerById(Integer id){
        DataSource dataSource ...;

         Connection con = dataSource.getConnection(...);
    }
}
Run Code Online (Sandbox Code Playgroud)

或者实现一个访问 Web 服务或其他内容的 CustomerDao。CustomerDao的优点是客户端(使用CustomerDao的代码)独立于concreate存储技术。这就是为什么您应该设计没有存储依赖的 DAO API。一个很好的提示是 CustomerDAO 接口的导入语句。如果 CustomerDAO 导入语句包含类似以下内容:

import javax.sql.***
Run Code Online (Sandbox Code Playgroud)

你应该重新考虑 API 的设计。但请记住,您还可以引入带有字符串的 API 依赖项。例如

public Customer findCustomer(String sqlWhereClause){
   ...
}
Run Code Online (Sandbox Code Playgroud)

业务对象保存数据,它是您应该放置领域逻辑的地方。如果您使用的是富域模型方法。

有关详细信息,请参阅有关为什么“贫血域模型”被视为反模式的具体示例


PSR*_*PSR 5

业务对象是集中应用程序所有逻辑的对象.使用Business Objects使用对象模型分离业务数据和逻辑.

SEE HERE