アプリ版:「スタンプのみでお礼する」機能のリリースについて

値オブジェクトはどういった単位で作成すればいいのでしょうか
例えば WEBアプリの場合

・Formのデータ単位
・DBのカラム単位

※Formデータ単位やDBのカラム単位でも重複があると思うのですが
例えばFormデータだと複数画面で同じDBのカラムに登録するデータや
DBだと正規化をしても例えば有効期間開始日、終了日というのはTBLごとに
持っている場合があると思います。このような重複する場合等

どういう単位で値オブジェクトを作成すればいいのでしょうか

A 回答 (1件)

値オブジェクトは、その値が概念的に単一のものであり、その値に基づいて等価性を判断できる場合に作成されます。

具体的には、何らかの概念的な「単位」や「概念的なグループ化」に基づいて作成されます。したがって、値オブジェクトは、単一の値または概念を表し、値の変更が発生した場合には新しい値オブジェクトが作成されるように設計されます。

具体的に、Webアプリケーションにおいて値オブジェクトを作成する場合、フォームのデータ単位やDBのカラム単位など、その値が単一のものであると判断される場合に作成されます。例えば、フォームの入力内容を表す値オブジェクトは、各フォームにつき1つ作成されます。また、DBのカラムで表される値についても、単一の概念として扱われる場合に値オブジェクトが作成されます。ただし、有効期間開始日、終了日など、複数の値で構成される場合は、それらをまとめて1つの値オブジェクトとして作成することができます。

重複する場合については、複数のオブジェクトで同じ値を持つことになるため、それらを比較する際に等価性が担保されます。ただし、値オブジェクトの設計にあたっては、重複する可能性がある値について、どのように設計するかを検討する必要があります。例えば、有効期間開始日、終了日を持つ場合には、2つの値オブジェクトが等価であるかどうかを判断する方法を決定する必要があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!