2012-04-01 33 views

答えて

3

インターフェイスはビジネスロジック用です。モジュールの動作や機能を宣言しています。 POJOはデータを含むオブジェクトであり、ロジックを実行するものではありません。

+0

OO-Paradigmaは、データを置くべきであることを私たちに伝えています。これを分割することは、技術的な理由で有用かもしれませんが、OOに違反します。 – BetaRide

+0

PlainOldJavaObjectで話すとき、ロジックのみのゲッタとセッタのないデータ(プロパティ)のみを含むオブジェクトについて説明します。あなたは機能を持つオブジェクト(おそらくデータを含んでいます)については正しくありません。それは分割してはいけません。 – shem

+0

> OO-Paradigmaは、データと関数型を1つのクラスに入れる必要があることを示しています。 - ケーキはそれ自身を焼くのですか? 'cake.bake()'は意味がありますか? –

1

インターフェイスを作成することができます:同じ機能を共有する(つまり、同じインターフェイスを公開する)複数のクラスが存在するのでしょうか?その場合、その中にそれらの(ビジネスロジック)メソッドを持つインターフェイスを作成することができます。

また、インターフェイスには状態を把握するための変数が含まれていないため、インターフェイスを実装するクラスの一部になります。同じインターフェースを持ついくつかのクラスは異なる方法でそれを実装するかもしれないので、インターフェースで変数(そしてgetterとsetter)を指定する必要はありません。

0

インターフェイスには、ゲッターとセッターが含まれてはいけません。インターフェイスは、クラスが実行できる機能のみを提供します(ゲッター/セッターが必要な場合 - 抽象クラスを使用します)。フィールドは通常、(必ずしもそうではないが)実装の一部分のみである。

あなたのクラスはデータのみが含まれているのであれば、一つはエンティティのためのインタフェースを使用すると、彼らはJPAを扱っていることからクライアントを分離するために使用することができることを主張する可能性がありインタフェースで必要

0

はありません。同じインターフェースを共有する永続エンティティーの隣に、いくつかの派生した非永続ビジネス・オブジェクトが必要な場合があります。そのような場合、私はこれが適切であると感じます。しかし、トランザクションを気にする必要がない場合にのみ、このような使用を制限する必要があります。

0

エンティティまたはPOJOはゲッターと性質を持っているので、私は、インターフェイスは任意の理にかなっていると、エンティティ/ POJOを考えていけないまあやsettersそしてデータ用に使用されます。インターフェイスとその実装(インターフェイスを実装するPOJO)を提供し、Implementationクラスへのインターフェイス参照を使用してそれをデータベースに永続化しているとします。大丈夫ですが、同じインターフェースを実装している別のpojoを提供するとどうなりますか?それは確かにpojoの意味を侵害し、どんなpojoが存続するのか混乱させます。

関連する問題