0

私はまだ MVC の初心者なので、設計に問題があります。

私は多くのカテゴリ C1、C2、C3 を持っています。すべてのカテゴリには、彼女の特別な構造があります。したがって、すべてのカテゴリはModel Classで提示する必要があります。また、すべてのカテゴリに対して、 Hibernateによって相互にマップされたデータベース内の独自のテーブルがあります。

私のアプリケーションでは、Excel ファイルからデータを取得する必要があります (アップロードに成功し、Excel ファイルからデータを取得しました)。ただし、Excel ファイルは、フォームで選択されたカテゴリの構造を尊重する必要があります。つまり、フォーム C1 の選択で選択した場合、別の構造の Excel ファイルをアップロードすると、そのファイルは拒否されます...

では、指定されたカテゴリに従って Excel ファイルを処理するようにアプリケーションを設計するにはどうすればよいでしょうか??

4

2 に答える 2

1

インターフェイスを定義し、ExcelStructureValidatorすべてのカテゴリ クラス (C1、C2、および C3) に

ExcelStructureValidator createExcelStructureValidator()

メソッドで、選択したカテゴリに適したバリデータを返します。

他の設計が可能であるか、さらに優れている可能性がありますが、カテゴリとは何か、および Excel ファイル構造がカテゴリにどのようにリンクされているかについての詳細情報がなければ、理想的なソリューションを提供することは困難です. ただし、カテゴリに基づくバリデーターの何らかのファクトリーが必要です。カテゴリが工場であるべきかどうかは議論の余地があります。

于 2012-07-21T15:14:24.270 に答える
0

フォームでカテゴリのタイプが選択されている場合、これは検証タスクです。Swing GUI では、このようなことは通常、InputVerifier のような独立したクラスによって行われます。これは、コントローラーに相当するものに統合するか、サービスに転送できます。

入力のカテゴリのタイプがわからない場合は、データを検証するための汎用メソッドを使用できます。特定のカテゴリ タイプが予想される場合は、ファクトリ スタイルのアプローチを使用して、予想されるカテゴリに適合する特定のバリデータ インスタンスを取得できます。これらのバリデーターについては、true/false を返すメソッドを持つ共通のインターフェースを持つisDataValidか、よりきめ細かいオブジェクト指向のアプローチのためにいくつかのカスタム例外を使用することができます。

于 2012-07-21T17:24:53.223 に答える