XXXManager という名前は本当に良くない
XXXManager という名前は良くない。ということは、僕が言うまでもなく過去にたくさんの人が指摘しています。
『名前が漠然としているから』と言うのが大きな理由なのですが、実際に開発をしていると、この手の役割をクラスを作りたくなることは多く、それにどう名前をつけるか毎度考えあぐねるのですが、簡単に考えをまとめておきます。
なぜ管理クラスを作るのか
そもそも、XXXが何か処理を行うときは自身がその処理を行えばいいのです。
xxx.doSomething();
しかし、時としてそれを直接呼びたくないケースがあります。その多くは、メソッドを呼ぶときに、他のオブジェクトとの相互作用が発生するようなケースです。
実際のところ、管理クラスは何であるのか
XXXManager が複数の XXX を管理する場合、管理する XXX をメンバとして所有するのですから、単にそれを表すクラスにすればいいのです。
XXXCluster XXXs XXXQueue
XXXManager はこの形の改名で解決することが多い気がします。もっと別の理由で管理クラスを挟みたいケースでは、用途に応じた命名をすればいいと思います。もし、そのどちらにも当てはまらないなら、そもそもそのクラスが本当に必要なのか検討するべきです。