java - 如何避免 child 重复构造函数

标签 java dry

我有一个父类,其构造函数为:

    @Inject
    public AbstractResource(@Named("authorization") Authorization auth,
                            @Named("helper") Helper helper) {
        this.authorization = authorization;
        this.helper = helper;
    }

现在在子类中,我有类似的构造函数:

public class MyResource extends AbstractResource {
        private Manager manager;

        @Inject
        public MyResource(@Named("authorization") Authorization auth,
                          @Named("helper") Helper helper) {
            super(auth, helper);
            this.manager = new Manager();
        }
...

问题是我有大量从 AbstractResource 扩展的子类,我必须一遍又一遍地使用“Authorization”和“Helper”编写类似的构造函数。有什么办法可以避免重复编码吗?

抱歉,更新了我的代码,是的,我可以在每个子类中调用 super(..),但仍然在每个构造函数中我注入(inject)了所有这些参数、身份验证和帮助程序,只是想知道是否有一种方法可以简化那个

最佳答案

您可以创建一个对象来保存所有参数。

但除此之外,不完全是这样。这就是 Java 中的生产 DI 代码的实际样子。

关于java - 如何避免 child 重复构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35372707/

相关文章:

java - 如何避免 "Root WebApplicationContext: initialization started"加载两次?

java - 使用随机安全生成 key 对

java - 用户在 ibm commerce 的订单中可以拥有的最大商品数量是否有限制

java - Spring 行家库

java - 使用 Marathon 部署 Mesos 集群

mysql - 如何以 DRY 方式编写 MYSQL 查询

javascript - 如何设置一系列setHeader的DRY

c# - 这是操作子类型集合的唯一 DRY 方法吗?

java - 适应DRY原则的方法

javascript - 如何将 DRY 应用于此 JavaScript 对象?