java—我们可以使用依赖反转原理实现100%的操作吗?

8iwquhpp  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(144)

在我的日常编程中,我尽量遵循solid原则和其他设计模式,但在某些情况下会变得很困难,特别是使用依赖反转原则,对于层次类,创建工厂类并在那里存储对象可能很容易,对于singleton或builder也是一样,但当您在方法中使用单个类对象时,问题就出现了,该方法是不断变化的,并且同样没有层次关系
//在newtaskfor()方法中,dip原则被违反了,因此如何在日常程序或其上处理此类问题,在容器类中使用new关键字是可以的

protected <T> RunnableFuture<T> newTaskFor(Callable<T> callable) {
     return new FutureTask<T>(callable);  //violating Dip principle
     }

/**
 * @throws RejectedExecutionException {@inheritDoc}
 * @throws NullPointerException       {@inheritDoc}
 */
public Future<?> submit(Runnable task) {
    if (task == null) throw new NullPointerException();
    RunnableFuture<Void> ftask = newTaskFor(task, null);
    execute(ftask);
    return ftask;
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题