Dependency injection IOC问题:运行时数据相关类的抽象工厂太多

Dependency injection IOC问题:运行时数据相关类的抽象工厂太多,dependency-injection,inversion-of-control,Dependency Injection,Inversion Of Control,我最近开始在我的一个项目中使用DI。对于运行时相关的类,我创建了相应的抽象工厂。遵循这种模式之后,我最终拥有了太多的抽象工厂,几乎每个类都有一个 在使用IOC时,有太多的抽象工厂是常见的吗 场景:假设我从数据库中获取一个“实体”对象。用户可以在此实体对象上执行10种不同的用例。对于每个用例,我都有一个不同的类来处理它。在某些情况下,给定的用例可能有子用例组件,这些子用例组件也可能需要实体对象。 由于这些类依赖于运行时实体对象,所以我必须为它们中的每一个创建抽象工厂。最后,我将构造说明连接到IOC

我最近开始在我的一个项目中使用DI。对于运行时相关的类,我创建了相应的抽象工厂。遵循这种模式之后,我最终拥有了太多的抽象工厂,几乎每个类都有一个

在使用IOC时,有太多的抽象工厂是常见的吗

场景:假设我从数据库中获取一个“实体”对象。用户可以在此实体对象上执行10种不同的用例。对于每个用例,我都有一个不同的类来处理它。在某些情况下,给定的用例可能有子用例组件,这些子用例组件也可能需要实体对象。 由于这些类依赖于运行时实体对象,所以我必须为它们中的每一个创建抽象工厂。最后,我将构造说明连接到IOC容器中

有没有别的办法呢。我只是觉得创建所有这些工厂是浪费时间,尤其是当所有子类都依赖于同一个实体对象时

我倾向于使用IOC容器为我的场景注册一个工厂/构建器类。该工厂将为我的场景创建所需的对象图。我将IOC视为帮助实施DI概念的工具。只要我通过自定义构建器/工厂观察DI,不一直使用IOC容器可能并不坏


我想知道你们对这种方法有何看法?

听起来你们的1:1接口太多了。当这种情况发生时,它往往是一个信号,一个人应该停下来想想未来

也许你可以重新设计你的界面,这样就有了