フレームワークの依存関係に関連する質問がいくつかあります。一般的に、ベスト コーディング プラクティスでは、名前空間をフレームワーク固有のコードで乱雑にしないようにします。たとえば、Spring の場合、すべての依存関係を構成ファイルで維持する必要があり、アプリケーション コードに Spring 固有のコードはありません (これが、Spring アノテーションよりも Spring 構成 xml ファイルを好む理由の 1 つです)。puremvc の場合と同様に、puremvc コードを mxml に混在させないことが常に望ましいため、ビューはどのフレームワークでも機能します。しかし、私の質問は
他のフレームワークを置き換えずにコードから spring または puremvc を削除すると、いくつかの Bean (Spring の場合) またはいくつかの真に再利用可能なビュー (puremvc の場合) になります。しかし、フレームワーク固有のAPIを使用せずにフレームワークに間接的に依存しているため、Beanまたはビューを接着するには大量のコーディング作業が必要です。
スプリングをピココンテナのような他の DI フレームワークに置き換えると、かなりの量または手直しが必要になります。これも、フレームワークへの間接的な依存につながります。
では、アプリケーションの名前空間をフレームワーク固有の api で乱雑にするのはなぜ悪いのでしょうか? フレームワーク固有の API をコーディングできます (コーディング作業が大幅に軽減される場合)。
私によると、アプリケーションの名前空間をフレームワーク固有の API と混在させないだけでは、アプリケーションが他のフレームワークに移植可能になるわけではありません。既存の適切に設計された Struts アプリケーションを spring mvc で移行する場合、およびそのために必要な労力を考えてみてください。
他の読者からの意見を期待しています。