表題の通り、クラス名で悩んでいます
例えば、問題を表す値オブジェクトを実装する場合、そのクラス名はどのように命名されていますか?
Questiron
QuestironVO
QuestironValueObject
- それ以外
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
値オブジェクトかそうでないかを区別しなければ混乱するほどのシステム(もしくはそういうルール・規約を課す)ならその規約に従って、例えばValue
をつけなさいとなっているならQuestionValue
でよいと思います。
混乱がない(値オブジェクトとそれ以外のクラスのネーミングを区別するルール等がなく、想定するプログラムの中に「問い」に関する別の役割のクラスが出てきそうにない)なら、自分はなるべく単純な名前にしたいのでQuestion
がよいと思う派です。
値オブジェクトって「特定のエンティティーを表すのではなく単に保持している属性の内容が重要でほかのインスタンスと同一性のテストなどを行う必要がない」なんて説明を目にしますが、もしそういう意味だと「銀行口座の残高を表す値クラスが必要でそれをMoney
にする」ならイメージしやすいのですが、「問題を値オブジェクトとする動機はなんだろう、他にエンティティーを表すどんなクラスがあるのだろう・・・」と感じました。そんなところも補足されると閲覧者のみなさんがあなたの悩みをより把握しやすくなると思います。
投稿2016/10/15 11:29
総合スコア18394
0
他のクラス名やパッケージの名前によります。
よって、4です。
いずれかのインスタンスはObjectなので不要です。
Valueも不要です。インスタンスは通常値を保します。
もちろん、ValueObjectというクラスを継承している場合、更にそれを明示する必要がある場合残しておいた方が良い場合もありますが、質問からは読み取れません。
投稿2016/10/15 09:29
総合スコア2883
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/15 12:15
2016/10/16 04:44
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/15 11:55 編集