2011-06-08 21 views
7

我最近开始在我的一个项目中使用DI。对于运行时依赖类,我创建了相应的Abstract工厂。遵循这种模式后,我最终会有太多的抽象工厂,每个班级几乎都有一个。IOC问题:运行时数据依赖类的抽象工厂过多

在使用IOC时,结束使用太多抽象工厂是否很常见?

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

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

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

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

回答