0

アンケートクリエーターを作成しています。質問票はセクションで構成され、セクションはページで構成され、ページは質問で構成されます。アンケートは集約ルートです。

セクション、ページ、および質問には、アンケート内で一意である必要があるショートコードと呼ばれるものを含めることができます(ただし、データベース内で一意ではないため、厳密にはIDではありません)。ショートコードを値オブジェクトにするつもりで、アンケート内で一意である必要があるというビジネスルールを含めたかったのですが、それを確実にする方法がわかりません。私の理解では、値オブジェクトはリポジトリまたはサービスレイヤーにアクセスしてはならないので、それが一意であるかどうかをどのように判断しますか?

助けてくれてありがとう。

ダレン

4

3 に答える 3

0

質問表の集計にショートコードを生成する責任を割り当てることができます。これは、アンケートオブジェクトに埋め込まれた単純なカウンターに基づくことができます。ショートコードを作成したいすべてのエンティティは、それを含む質問票のNextShortCode()メソッドを呼び出して、次の一意の(現在の質問票の範囲内の)ショートコード値を取得します。

于 2010-06-02T11:32:23.320 に答える
0

明らかに、データベースにPKフィールドが必要になります。それをどのように実装するかはあなた次第ですが、それが私なら、PKフィールドを値オブジェクトに入れて自動的に処理されるようにします。

于 2010-06-01T17:50:54.773 に答える
0

GuidやUUIDなどを使用することをお勧めします。ただし、正確にどのように生成するかは、アプリケーションに使用している言語によって異なります。

于 2010-06-01T17:51:21.697 に答える