1

In Play 2.x サブ プロジェクトはモジュラー アプリケーションを構築する方法であり、見栄えがします。

さて、核心を突くと、いくつかの問題が明らかになります。

1) Cyclical dependencies not possible (A can depend on B, but B cannot depend on A)  
2) A child project cannot access a parent project  
3) Routing and Assets are isolated to each sub project

私の場合、次のようにアプリケーションを構成したいと思います。

Main
Modules
-> Core
-> Model
-> Common
-> View
  -> Desktop
  -> Mobile
-> Controller
  -> admin
  -> account
  -> public

ここで、管理コントローラーがモバイル リクエストを受信したとしますが、ユーザーはまだログインしていません。OK、プルする必要があります。View > Mobile > views > login > index.scala.html

コントローラーのサブ プロジェクトはビューに依存するため (その逆はありません)、ビューはコントローラー ルートにアクセスでき@form(action = admin.routes.auth)ません。

ビューのサブ プロジェクトを破棄して、個々のコントローラー サブ プロジェクトの下にビューを保存することもできますが、それは大量のテンプレート コードの複製のレシピのように見えます。

基本的なコア、モデル、メイン (アセット、コントローラー、ビュー) のサブ プロジェクトのセットアップではすべて問題ありませんが、モバイルとデスクトップのインターフェイスをサポートする必要がある場合は、クラッド ビューと前面ビューをサポートする必要がある場合は、はるかに複雑になります。

サブプロジェクトは、単一のルート ファイルから生じる膨大なビルド時間を見ると、聖杯のように見え始めます。

実装は別の問題です。

4

0 に答える 0