有什么变体更好?稳定 - SRP 和接口



什么变体更好?固体 - SRP 还是带接口的那个?

class Some {
    private final IValidator validator;
    public Some(IValidator validator) {
        this.validator = validator;
    }
    public void doSomething() {
        if (validator.validate(data));
            // do something
    }
}

class Some {
    private final Validator validator = new Validator();
    public void doSomething() {
        if (validator.validate(data));
            // do something
    }
}

验证器使用一次。

通过编写Validator validator = new Validator(),您实际上增加了代码的耦合性,这绝对是反对 SOLID 的。

就像@Kris评论中所说的那样,最好的方法是使用接口而不是实际的实现 - 这实际上更符合多态性,并且在它之后已经是关于 SOLID 的。

最新更新