我最近开始在我的一个项目中使用DI.对于运行时相关类,我创建了相应的Abstract工厂.遵循这种模式后,我最终得到了太多的抽象工厂,几乎每个班级都有一个.
在使用IOC时,最终会有太多的抽象工厂吗?
场景:假设我从数据库中获取“实体”对象.用户可以在此实体对象上执行10种不同的用例.对于每个用例,我都有一个不同的类来处理它.在某些情况下,给定的用例可能具有子用例组件,这些组件也可能需要实体对象.
由于这些类依赖于运行时实体对象,因此我必须为每个类创建抽象工厂.最后,我将构造指令连接到IOC容器中.
有没有其他方法可以做到这一点.我只觉得创建所有这些工厂是浪费时间,特别是当所有子类都依赖于同一个实体对象时.
我倾向于使用IOC容器为我的方案注册一个工厂/构建器类.该工厂将为我的场景创建所需的对象图.我认为IOC是帮助实现DI概念的工具.只要我通过自定义构建器/工厂观察DI,就不会一直使用IOC容器.
我想知道你们对这种方法的看法是什么?
听起来你正遭受过多的1:1接口的困扰.当发生这种情况时,通常表明人们应该停下来思考
Reused Abstractions Principle.
也许您可以重新设计界面,以便有less factories and more commands.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。