ドラッグアンドドロップが可能なコードをプロジェクトに追加しています。プロジェクト構造にビュー固有のロジックを配置する場所はどこですか?
実際のドロップに使用されるフォームは、明らかにビュー/プレゼンテーションレイヤの一部です。しかし、TransferHandler
クラスに疑問符があり、ウィンドウ上にドロップされたオブジェクトを検出して検証する実際のロジックが含まれています。
私はプレゼンテーション、ロジック、データレイヤーがあることを考慮すると、このクラスはどこに配置できますか?
ドラッグアンドドロップが可能なコードをプロジェクトに追加しています。プロジェクト構造にビュー固有のロジックを配置する場所はどこですか?
実際のドロップに使用されるフォームは、明らかにビュー/プレゼンテーションレイヤの一部です。しかし、TransferHandler
クラスに疑問符があり、ウィンドウ上にドロップされたオブジェクトを検出して検証する実際のロジックが含まれています。
私はプレゼンテーション、ロジック、データレイヤーがあることを考慮すると、このクラスはどこに配置できますか?
プレゼンテーション層と完全に関連している場合は、プレゼンテーション層にあります。
またはプレゼンテーションが論理(サービス)レイヤーよりも変更された場合は同じことが必要な場合。
私はプレゼンテーション層を提案しますが、例えばutil
のようなパッケージを作成します。このパッケージには、drag-adnd-dropのようなビュー機能を支援するために使用するすべてのクラスが含まれています。
良い、直接的な提案。 –
情報エキスパートであるクラスは、操作に関する情報が最も多いクラスを意味しますか?プレゼンテーション層には情報エキスパートであるクラスが含まれているようですので、そこにコードを置くことは合理的です。このアクションはドメインオブジェクトに影響するはずですが、プレゼンテーションレイヤーから呼び出されるユースケースコントローラーを実装することを検討することができます。
MyTransferHandlerクラスまたはそれを呼び出すクラスです。ドメインオブジェクトに影響する情報をインポートするために使用されます。ユースケースコントローラのパターンに言及してくれてありがとう。私は私の分析に合うようにアイデアが好きです。 –
ですから、もし私がこれを真っ直ぐにしたら、プレゼンテーション層が変わることができるならばそれは切り離されるだろうという推論です。クラスはビジネスロジックに配置されます。 –
はい、 'MVC'では、' V'はいつでも変更することができます。これはもっと正確に考える必要があります。 –