質問: オブジェクト指向の初心者ですが自分のプログラムにも少しそういう考え方を取り入れてみようと勉強中です。 データをオブジェクト間で受け渡しするためのクラスを作成しました。 これはエンティティという名前にしています。(例:Model_Entity_Hoge) 次に例えば明細行1行を1つのオブジェクトとして取り扱い、それをまとめるクラスを作るとします。このクラスは追加や削除、集計などのメソッドがあります。 この明細行をまとめるクラスはどんな名前が適当なのか、現場ではどういう名前にしているのかをお尋ねしたく質問させていただきました。 よろしくお願い致します。 --- 明細クラスはModel_Entity_Detailという名前にしています。 素人なりに考えたアイデアは以下の通りです **・複数系にする** →Model_Entity_Details **・setをつける**(フレームワークでもFieldをまとめたfieldsetクラスがあるので) →Model_Entity_DetailSet **・リポジトリという名前にする**(貯蔵庫という意味があるみたいなので) →Model_Repository_Detail
回答: もっと具体的な名前にします。 わかりやすさを基準に考えるので”形のモノの詳細(Model Entity Detail)”という名前はつきません。すでに十分わかりずらいです。 注文であれば、発注・注文・支払いなどのモデルを作りますし、ブログであればブログエントリー・コメント・トラックバックなどのモデルを作ります。 それとも命名方法について、機械的に決められると考えているのであればそれはあきらめたほうが幸せになれます。機械的な命名方法は実はどうやっても長くわかりづらくなるからです。(シン・ゴジラで行政がつける長い名前に文句を言うシーンがあったのをおもいだしました。ある程度長くなりすぎると人の名前など意味のないもののほうがマシかもしれません。) また、適切な名前付けは非常に難しいものですが、最悪あとで変えればいいのです。