1

ファンクションデリゲートとアクションデリゲートを格納するために多くのディクショナリクラスを使用しているアプリケーションをまとめています。現在、プロジェクトを少しリファクタリングし、コードをクリーンアップしています。私の質問は、プロジェクト構造のどこに辞書クラスを配置するか、または配置するかということです。現在、それらは呼び出し元のクラスのソースファイル内にありますが、すべての辞書を保存するために別のソースファイルを作成する必要があるかどうか疑問に思いました。これで十分な情報だと思います。そうでない場合はご容赦ください。ありがとう。

4

2 に答える 2

1

他のコードと同じ方法で辞書を整理します。関連する機能をグループ化し、関連しない機能を分離します。

さらに、委任辞書がどのように使用されているかを見ていきます。使用パターンが常にデリゲートを取得してすぐに呼び出すことである場合は、その動作を「do-the-right-thing」メソッドを使用してクラスにラップします。次に、そのような各クラスは、それが表すドメインの概念によって名前を付けることができます。

たとえば、米国の州の略語を消費税の計算にマッピングする辞書がある場合、州コードと小計を引数として使用する「消費税の計算」メソッドを使用して、それらすべてをクラスにラップできます。辞書を使用して適切な計算スキームを検索しているという事実は、隠れた実装の詳細になります。

于 2009-03-18T03:07:23.750 に答える
1

通常、Dictionaryクラスはそれ自体(ライブラリ)のものであり、さまざまなユーザーがそのインスタンスを作成します。

必要に応じて、専門化/サブクラス化することもありますが、これはまれなことです。

たぶん、あなたが本当に自分自身に「なぜ私は複数の辞書クラスを持っているのか」と自問すべき質問ですか?

于 2009-03-18T01:40:10.853 に答える