2013-10-14 6 views
6

parent-api-implプロジェクトの構造は、私にとって初めてのものです。 当社のJava Mavenプロジェクト構造は、このようなものです:分離されたAPIと実装プロジェクトの構造

> com.sample.myproject 
> com.sample.myproject.api  
> com.sample.myproject.impl 

私の質問は次のようになります。

  1. どのように私は、それらが相互に接続されるようにEclipseで、このようなプロジェクトを作成するのですか?

  2. いつこの種の構造が推奨されますか?

  3. この種の構造については、私が参照できるサイトまたは参照はありますか?おそらくチュートリアルやガイド?

答えて

1

1)Eclipseで3つのプロジェクトを作成し、それぞれの管理用にpom.xmlファイルを作成します。この後、あなたが行う必要があります。

  • 親が
  • IMPLが親とAPI

日食m2eclipseプラグインはお互いにプロジェクトを接続します。この方法に依存APIに依存します。

2)このプロジェクト構造は、定義されたAPIの実装全体を変更する必要がある場合にのみお勧めします。これにより、Javaコードを変更することなく、別の実装を持つ別のjarをアプリケーションに簡単に配置できます。もちろん、実装ではなく、APIのみを参照している場合にのみ適用されます。これはEJBまたはSpringで実現できます。

3)私はそこにチュートリアルやサイトを考えることはできません。申し訳ありません。

2

私はあなたのAPIを持っているので、Facade Data Patternを開始するために良い点かもしれません

...それは逆の順序であなたの質問に答えるために多くの意味をなすかもしれないと思います。このパターンの目的は、基本的に、外部ユーザーが接続できるインターフェースを提供することです。

このタイプの構造体は、通常、そのような関数が実装されたときの実際の動作を漏らさずに、一連の関数(API)を公開する場合に必要です。したがって、たとえば、自分のやり方や方法を示すことなく、public BigDecimal calculateTax(BigDecimal amount, double percentage)をユーザーに公開するだけです。

最後に、これは私がそれを行うだろうかです:

  • com.sample.myprojectは私のコアプロジェクトとなり、その中に私がこのようなオブジェクトの永続化など任意のコア機能を配置します。

  • com.sample.myproject.apiは、本質的にはInterfacesと私が公開したいことがあるプロジェクトです。

  • com.sample.myproject.implは、上記の2つのプロジェクトを、コアプロジェクトといくつかの余分なロジックを使用して、どのAPIレイヤが利用可能になっているかを公開することで実装します。

+0

私が間違っている場合。サービス、ロジック、データアクセス層を持つアプリケーション用のAPIモジュールを作成したい場合サービスレイヤのインターフェイスのみが、クライアントに公開される唯一のレイヤであるため、APIモジュールの一部になります。また、ロジックとデータアクセス層の一部であるインターフェイスは、実装モジュールに残ります。私はそれが正しいことを理解しましたか? –

+0

@MeenaChaudhary:APIレイヤーには、APIが生成または要求する要求/応答オブジェクトも含まれます。 – npinti

+0

サービスレイヤが要求または応答オブジェクトとして使用する転送オブジェクトを意味しますか?今のところ私の転送オブジェクトはgetter/setterメソッドを持つ具象クラスです。だから、私は転送オブジェクトのためのインターフェイスを作成し、それらをAPIモジュールに入れて、具体的な実装をそのまま現在のモジュールに残す必要がありますか?それは確かですか? –

関連する問題