问题描述
在我的日常编程中,我尽量遵循可靠的原则和其他设计模式,但在某些情况下会变得困难,特别是使用依赖倒置原则,对于层次结构类,创建工厂类并在那里存储对象可能很容易,也与 singleton 或 builder 相同,但是当您在方法中使用单个类对象时会出现问题,该方法会不时更改并且同样没有层次关系
//这里在 newTaskFor() 方法中,浸入原则被违反了 那么如何在日常程序中解决此类问题,或者在容器类中使用 new Keyword 是可以的
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;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)