スレ立てるまでもない質問はここで 166匹目 (122レス)
上下前次1-新
抽出解除 レス栞
96(2): デフォルトの名無しさん [] 2025/05/11(日) 23:47:03.82 ID:228rT577(1) AAS
オブジェクトの名前の付け方について
ある組織を管理するプログラムで、その構成員一人一人に該当するクラスUserを作ったとします。
そのUserにはユーザー名というのがあり、それは複数のインスタンス間で重複してはならないものとします。
重複チェックを行うのは、構成員一人一人の責任ではないので、UserManagerというクラスを作り、そのクラスに
Userのユーザー名重複チェックのメソッドを置くものとします。
このやり方に何か変なところはあるでしょうか?
98: デフォルトの名無しさん [sage] 2025/05/12(月) 11:45:11.61 ID:LObHy6ed(1) AAS
>>96
命名の話なのか責務の分割方法についての話なのかよくわからんので両方に答えておく
組織の構成員は一般的にUserとは呼ばない
汎用的にはMemberだがEmployeeのように対象に即した名前が存在することが多い
〇〇Managerという命名も対象ドメインで既に浸透している名前じゃなければ可能な限り使わないほうがいい
重複チェックの対象が永続化されたデータを前提としてるのであれば自分なら〇〇Repositoryという名前にする
責務の分割方法についてはUserクラスに重複チェック機能を持たせるのでもUserManagerのようなものに持たせるのでもどちらでもいい
それぞれ一長一短はあってどちらかが絶対的な正解という類のものではなく選択の問題
永続化前提ならactive recordパターンとrepositoryパターンの違いなのでググれば分かると思う
99: デフォルトの名無しさん [sage] 2025/05/12(月) 12:52:45.43 ID:UqNkQUeW(1) AAS
>>96
UserManagerのような名前は神クラス アンチパターンに陥りやすい典型的な名前というのが難点
その古典的な感じからすると異様に行数の長いクラスがたくさんあるでしょ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.584s*