2

オブジェクト「Customer」に関する Word ベースのレポートを生成する必要があるという問題があります。

私は通常、Word 文書の作成方法やブックマークの挿入方法を知っているクラスに Customer を渡すことでこれを行います。

これに関する問題は、Customer オブジェクトに関する情報を取得してフォーマットするためのロジックをこのクラスに配置していることに気付くことです。

これは悪いことであり、単一責任の原則に違反していることは理解しています。

カスタムを受け入れ、データの書式設定と取得に関するすべてのロジックを備えた「CustomerReportInfo」のような別のクラスを作成することについて考えました。そのようにして、Word 生成クラスは小さく、2 つのクラスは互いに関係なく変更できます。

このクラスを何と呼ぶべきか疑問に思っています。パターンのリストを調べましたが、説明に適合するものは何も見つかりません。戦略やプロキシのようには聞こえません... DTO のように聞こえますが、DTO は通常、機能のないダム クラスですよね。

これがどのパターンに似ているかについてのアイデアはありますか?

4

4 に答える 4

1

単語固有の場合は、CustomerView または CustomerWordView を好みます。ここで MVC パターンに触れています。この場合、3 番目の概念は、データベースから Customer をロードし (他のユーザーにロードを依頼することが望ましい)、ビュー オブジェクトを構築するコントローラー クラスです。

于 2009-01-23T06:49:04.313 に答える
0

私はそれを呼ぶだろう

CustomerReportGenerator

私はそれがポクシーに聞こえることを知っていますが、コメントなどをしなくても何をするかを言っています。

于 2009-01-23T06:50:11.037 に答える
0

パターンの名前はわかりませんが、Application Architecture for .NET: Designing Applications and Servicesが好きです。レポート サービスReportServiceを呼び出して、DAL にアクセスさせますCustomer

代替テキスト http://i.msdn.microsoft.com/ms978348.f02aa01(ja-jp,MSDN.10).gif

于 2009-01-23T07:10:19.530 に答える