我有一个很大的'经理'类,我认为这是太多了,但我不确定如何将它分成更多的逻辑单位。我应该如何将庞大而臃肿的课堂分为更小的课堂?
一般来说类基本由以下方法:
class FooBarManager { GetFooEntities(); AddFooEntity(..); UpdateFooEntity(..); SubmitFooEntity(..); GetFooTypes(); GetBarEntities(); }
经理类是我的业务逻辑的一部分,constains包含所有CRUD的数据访问级别的其他“经理人”类的一个实例所有实体的操作。
我有不同的实体来自数据访问层,因此在Manager类之外有一个转换器将数据实体转换为业务实体。
经理类的原因是我希望能够在单元测试时嘲笑每个“经理”类。每个管理员类现在都超过1000个loc,每个管理员类包含40-50个方法。我认为它们很臃肿,并且觉得把所有的数据访问逻辑放到一个类中是很尴尬的。我应该做什么不同?
我将如何去分裂他们,是否有任何特定的设计模式,我应该使用?
好的听起来很符合逻辑,但是如何在业务层的xManager中去处理需要获取客户所有订单的信息呢?你是否可以引用CustomerManager和OrderManager,以及何时获得客户电话获取该客户的订单?看起来像很多经理? – Xerx 2008-09-30 16:54:37
鉴于你现在有什么,这就是我将如何做到这一点。考虑哪个实体负责操作 - 你不会要求真正的客户给你一个他们的订单清单,你会要求你的订单系统给你一个客户订单清单。 – 2008-09-30 18:59:21