イメージで動作し、それらにフィルタを適用するアプリケーションを実装しています。バックエンドはJavaで書かれており、JavaFxとFXMLで作られたデスクトップアプリケーションが付属しています。私が遭遇した問題は、自分のコードを可能な限り最良の方法で整理する方法です。JavaとJavaFxを使用したデスクトップアプリケーションのModel-View-Controller(Presenter)ワークフロー
私は、fxmlファイルで定義されている要素の機能を担当するコントローラと、バックエンドからのJavaベースのロジック全体をモデルとするモデルを持っています。しかし、モデルにはPOJOクラスのようなドメインオブジェクトが含まれているとは思われませんか?どこでボタンをクリックしたときに、コントローラが呼び出すはずのメソッドを、パラメータとしてイメージを取るメソッドを置くべきですか?
私はこのロジックを実装するクラスを持つサービスパッケージを追加することを考えましたが、これはModelからメソッドを呼び出す必要がありますか? それはモデルに入っていても別のクラスにあるはずですか?
アドバイスをいただければ幸いです。また、MVCよりもMVPのようなアーキテクチャーもありますか?
ありがとうございました!
私はCSSスタイルを追加することができますが、私の質問はViewレイヤーとは関係ありません。 ModelとControllerの間にレイヤーを作るのが良い解決策になるのではないかと思っていました。コントローラはサービスレイヤにアクセスする必要がありますが、コントローラにモデルへのアクセス権があるか、またはサービスのみが(モデルへのアクセス権がある)かどうかはわかりません。私は自分自身を複雑にするかもしれないが、なぜこれが私にとってより論理的であるのか分からない。 – lightstar
サービスの目的は何ですか? – Ricardo
モデルの意味によって異なります。私は間違っているかもしれませんが、モデルレイヤは単純なクラスのようなもので、リストを管理するクラスは含まれません(ドメインリポジトリコントローラのUI構造などのリポジトリのようなもの)。私は常に上記のアーキテクチャからドメインを持つMVCのModelレイヤに似ています。私は間違っていますか? – lightstar