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

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

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

在这里我引用了一些我想要更多的见解(尤其是对现实生活中的例子(一个简单的例子))。

BusinessObject的

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

我试图用这种模式作为练习(作为考试OCPJP的学生,它需要理解DAO模式)。 到目前为止,我有我的DataSource(mysql数据库),我的传输对象(JavaBean称为Person)和我的DAO对象在数据库和JavaBean(Person)之间正确连接。

那么又到底什么是业务对象?

提前致谢


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

SEE HERE


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

public interface CustomerDAO {
    public Customer getCustomerById(Integer id)

}

然后在jdbc中实现数据访问

public class JdbcCustomerDao {

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

         Connection con = dataSource.getConnection(...);
    }
}

或实现访问Web服务或whatelse的CustomerDao。 CustomerDao的优点是客户端(使用CustomerDao的代码)独立于混凝土存储技术。 这就是为什么你应该设计DAO API而不需要存储依赖。 一个很好的提示是CustomerDAO接口的导入语句。 如果CustomerDAO导入语句包含如下内容:

import javax.sql.***

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

public Customer findCustomer(String sqlWhereClause){
   ...
}

业务对象拥有数据,它是您应该将域逻辑放在的地方。 如果您正在使用丰富的域模型方法。

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


我不是这方面的专家,但我认为外行对业务对象的解释是:业务对象持有数据访问(例如数据库)和业务逻辑所需的实例变量和属性(例如,Java类处理真正的操作)进行交流。

业务对象通常不会为自己做任何事情。 例如,电话可以是人与新闻门户之间的业务对象,电话本身并不做任何事情,它只是保持双方所需的浏览器和互联网配置设置。

链接地址: http://www.djcxy.com/p/61419.html

上一篇: DAO pattern in java what is a Business Object

下一篇: EJB3.1 and JSF issue with Tomcat 7