我有一个大型的“经理”类,我认为它做得太多,但我不确定如何将它划分为更多的逻辑单元。
一般来说,该类基本上由以下方法组成:
FooBarManager 类 { GetFooEntities(); AddFooEntity(..); UpdateFooEntity(..); 提交FooEntity(..); GetFooTypes(); GetBarEntities(); }
Manager 类是我的业务逻辑的一部分,它在数据访问级别包含另一个“Manager”类的实例,其中包含所有实体的所有 CRUD 操作。
我有来自数据访问层的不同实体,因此在 Manager 类之外有一个转换器来将数据实体转换为业务实体。
管理器类的原因是我希望在进行单元测试时能够模拟每个“管理器”类。每个管理器类现在都超过 1000 个 loc,每个包含 40-50 个方法。我认为它们非常臃肿,并且发现将所有数据访问逻辑放在一个类中很尴尬。我应该做些什么不同的事情?
我将如何拆分它们,我应该使用任何特定的设计模式吗?