0

プロジェクトを開始しようとしています。Spring MVCRestEasySpring Batchおよびを使用しますSpring Security

これらのそれぞれにモジュールを用意することは理にかなっていますか?例えば:

Main_Project
   ---pom.xml
   ---Module_Project
         ---pom.xml
   ---Module_MVC
         ---pom.xml
   ---Module_Rest
         ---pom.xml
   ---Module_Batch
         ---pom.xml
   ---Module_Security
         ---pom.xml

何がベストプラクティスかわからない?または、1 つのモジュールを使用する必要がありますか?

ありがとう、アディ

4

3 に答える 3

2

一見、意味がありません。

必要なテクノロジが既にわかっているので、独自のコードを構成する方法については既に考えていると思います。これは、モジュールを駆動する必要がある独自のコード編成です (使用しているフレームワークではありません)。

機能する一般的なアプローチ (少なくとも、従来の Web ベースのアプリケーションのアーキテクチャを精緻化するための出発点になる可能性があります):

  • モデルを含む 1 つのモジュール (つまり、データベース層、dao、永続的 Bean など) - パッケージ化 jar
  • コントローラーを備えた 1 つのモジュール (つまり、データベース レイヤー、トランザクション管理、ビジネス ロジックへのアクセスなど) - パッケージ化 jar
  • ビューファイル(存在する場合)(jsp、...)を含む1つのモジュール(フロントレイヤー)-warのパッケージ化
  • Web サービス定義 (存在する場合) を含む 1 つのモジュール (フロント レイヤー) - パッケージング war
于 2013-04-02T09:42:20.263 に答える
1

フレームワークごとにモジュールを注文しないでください。(フレームワークは、必要に応じてモジュールに追加する依存関係です。おそらく次のようになります。

<project>
    <groupId>com.ourproject</groupId>
    <artifactId>myfeature</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    ...
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.2.2.RELEASE</version>
        </dependency>
    </dependencies>
</project>

プロジェクトを編成する方法には、さまざまなアプローチがあります。

私が現在使用しているアプローチは、機能に沿ってソフトウェアを編成します。各機能は、古き良き Java パッケージによって「分割」されます。このようにして、特定の機能に属するビジネス ロジック、データ アクセス オブジェクト、および特定のリソースを 1 つのモジュールにまとめます。

利点は、その機能に属するすべてのものを探すのに苦労する必要がなく、必要に応じて機能を導入または削除できることです。

欠点は、すべての機能モジュール (横断的な関心事や共通の親クラスでさえ) で使用されるオブジェクトを個別のモジュールにパックし、それらを各モジュールの別の依存関係として追加する必要があることです。

于 2013-04-02T09:51:29.597 に答える