6

J2EE DAO パターンに関するこのオラクルの記事から直接:

ビジネスオブジェクトの「参加者」(彼らが呼ぶように)を除いて、すべてが非常に明確です。

ここで、より多くの洞察が必要な部分を引用します(特に、実際の例(簡単なもの)で役立つでしょう)。

ビジネスオブジェクト

BusinessObject はデータ クライアントを表します。データを取得して保存するためにデータ ソースにアクセスする必要があるオブジェクトです。BusinessObject は、データ ソースにアクセスするサーブレットまたはヘルパー Bean に加えて、セッション Bean、エンティティ Bean、またはその他の Java オブジェクトとして実装できます。

このパターンを演習として使用しようとしています (OCPJP 試験の学生として、DAO パターンを理解する必要があります)。これまでのところ、DataSource (mysql データベース)、転送オブジェクト (Person と呼ばれる JavaBean)、およびデータベースと JavaBean (Person) の間で適切にインターフェースする DAO オブジェクトがあります。

繰り返しになりますが、ビジネスオブジェクトとは正確には何ですか?

前もって感謝します

4

4 に答える 4

6

ビジネス オブジェクトは、アプリケーションのすべてのロジックを集中させるオブジェクトです。ビジネス オブジェクトを使用して、オブジェクト モデルを使用してビジネス データとロジックを分離します。

SEE HERE

于 2013-06-09T10:09:48.097 に答える
4

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 サービスまたはその他にアクセスする CustomerDao を実装します。CustomerDao の利点は、クライアント (CustomerDao を使用するコード) が concreate ストレージ テクノロジから独立していることです。そのため、ストレージに依存しないように DAO API を設計する必要があります。良いヒントは、CustomerDAO インターフェイスの import ステートメントです。CustomerDAO インポート ステートメントに次のようなものが含まれている場合:

import javax.sql.***

API の設計を再考する必要があります。ただし、文字列を使用して API の依存関係を導入することもできることに注意してください。例えば

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

ビジネス オブジェクトはデータを保持し、ドメイン ロジックを配置する場所です。リッチ ドメイン モデル アプローチを使用している場合。

詳細については、「Anemic Domain Model」がアンチパターンと見なされる理由の具体例を参照してください。

于 2013-06-09T10:08:52.163 に答える
0

In addition -

When you start implementing all your business classes, I am assuming you already have some couple of DAOs in hand.

Let’s take an example, a blogBO requires blogDAO to create or retrieve an existing blog from the database.

However, a blog contains it’s associated collection of comments. blogBO may have function getComments() that looks into the database using commentBO ( that uses commmentDAO) and reads all comments associated to that blog using that DAO. All these activities belong to business that you are adding in blogBO.

All the underlying DAOs should communicate and returns data to the business layer through TO (transfer object or value object.) However, you should already have an associative value object every of your DAO.

于 2019-05-08T05:51:51.037 に答える