私が Java でプログラミングしていたときは、オブジェクトとそれらのマネージャーを使用していました。ご存じのように、特定のクラスのオブジェクトのコレクションを保持し、それらを便利に管理できるクラス (通常はシングルトン) です。現在、Scala では、すべての機能をコンパニオン オブジェクトに配置し、別個のマネージャー オブジェクトを作成することを避けたいという状況にますます陥っています。
すべては、インスタンスに ID を与えることから始まります。そして、コンパニオン オブジェクトにコレクションを持たないのはなぜでしょうか? コレクションがそこにあるのなら、そこにコレクションを操作するためのすべてのメソッドがないのはなぜでしょうか? そのため、マネージャーはもう必要ありません。ただし、コンパニオン オブジェクトは通常、単一の名前 like Car
(like ではない、Cars
またはCarManager
複数を想定する) を持っているため、複数形で動作するメソッドは、オブジェクト名と組み合わせた言葉遣いが奇妙に見えるという特異な点があります。
この状況に関するあなたの意見を知りたいのですが、このアプローチが、一見不必要に肥大化したマネージャー パターンよりも好ましいかどうかを知りたいです。それに関する記事への参照も大歓迎です。