私は大規模な「マネージャー」クラスを持っていますが、それはやりすぎだと思いますが、それをより論理的なユニットに分割する方法がわかりません。
一般的に言えば、クラスは基本的に次のメソッドで構成されます。
クラスFooBarManager { GetFooEntities(); AddFooEntity(..); UpdateFooEntity(..); SubmitFooEntity(..); GetFooTypes(); GetBarEntities(); }
Manager クラスは私のビジネス ロジックの一部であり、すべてのエンティティのすべての CRUD 操作を含むデータ アクセス レベルで別の「Manager」クラスのインスタンスを含みます。
私はデータ アクセス レイヤーからさまざまなエンティティを取得しているため、データ エンティティをビジネス エンティティに変換するために Manager クラスの外部にコンバーターを配置しています。
マネージャー クラスの理由は、単体テストを行うときに、各 "マネージャー" クラスをモックアウトできるようにしたかったからです。各マネージャー クラスは 1000 以上の loc になり、それぞれに 40 ~ 50 のメソッドが含まれています。私はそれらが非常に肥大化していると考えており、すべてのデータ アクセス ロジックを 1 つのクラスに入れるのは厄介だと感じています。どうすればいいですか?
それらを分割するにはどうすればよいですか?使用すべき特定のデザインパターンはありますか?