質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

2802閲覧

値オブジェクトのクラス名はどのように命名されていますか?

tyamaguc07

総合スコア28

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1グッド

0クリップ

投稿2016/10/15 08:03

表題の通り、クラス名で悩んでいます

例えば、問題を表す値オブジェクトを実装する場合、そのクラス名はどのように命名されていますか?

  1. Questiron
  2. QuestironVO
  3. QuestironValueObject
  4. それ以外
tenu530👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

値オブジェクトかそうでないかを区別しなければ混乱するほどのシステム(もしくはそういうルール・規約を課す)ならその規約に従って、例えばValueをつけなさいとなっているならQuestionValueでよいと思います。

混乱がない(値オブジェクトとそれ以外のクラスのネーミングを区別するルール等がなく、想定するプログラムの中に「問い」に関する別の役割のクラスが出てきそうにない)なら、自分はなるべく単純な名前にしたいのでQuestionがよいと思う派です。

値オブジェクトって「特定のエンティティーを表すのではなく単に保持している属性の内容が重要でほかのインスタンスと同一性のテストなどを行う必要がない」なんて説明を目にしますが、もしそういう意味だと「銀行口座の残高を表す値クラスが必要でそれをMoneyにする」ならイメージしやすいのですが、「問題を値オブジェクトとする動機はなんだろう、他にエンティティーを表すどんなクラスがあるのだろう・・・」と感じました。そんなところも補足されると閲覧者のみなさんがあなたの悩みをより把握しやすくなると思います。

投稿2016/10/15 11:29

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyamaguc07

2016/10/15 11:55 編集

ご丁寧な回答ありがとうございます。 今回の質問は、一般的にどのようなルールのもとに値オブジェクト(やエンティティ)のクラス名など考えられているのか知りたいというものでした。 そのため、質問の内容などに雑さが生じてしまい、KSwordOfHasteさんや、iwamoto_takaakiさんを必要以上に悩ませる結果になってしまったのかなと思っております。 回答も、私が知りたかったことがすべて記載してあり、大変ありがたく感じました。 改めて、回答ありがとうございます。
guest

0

他のクラス名やパッケージの名前によります。

よって、4です。

いずれかのインスタンスはObjectなので不要です。
Valueも不要です。インスタンスは通常値を保します。

もちろん、ValueObjectというクラスを継承している場合、更にそれを明示する必要がある場合残しておいた方が良い場合もありますが、質問からは読み取れません。

投稿2016/10/15 09:29

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyamaguc07

2016/10/15 12:00

ご丁寧な回答ありがとうございます。 雑な質問でしたが、自分が聞きたかったことが聞けましたので感謝しております。
iwamoto_takaaki

2016/10/15 12:15

こちらこそ雑な回答をしてしまいました。 Javaは、パッケージやクラス名・変数名・アクセスレベルを適切に設定することによって、短くわかりやすい命名ができる工夫がしてあります。 逆をいうと、適切に設定することによって短くする方が便利ということになります。 しかし、それぞれの条件によって最適なものは違ってきますし、もともとこれで正解というものは存在しない、できるだけ良いものを選ぶというところなので、難しく考えすぎないようにしてください。
tyamaguc07

2016/10/16 04:44

ありがとうございます!参考にさせていただきます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問