【发布时间】:2017-11-23 02:56:20
【问题描述】:
您好,我正在阅读一个项目中的一些代码,我刚开始工作并看到一些类似这样的代码,我无法理解。
public class A implements Ignite {
protected Ignite ignite;
.......
protected void checkIgnite() {
......
}
@Override
public <K, V> IgniteCache<K, V> createCache(CacheConfiguration<K, V> cacheCfg) {
checkIgnite();
return ignite.createCache(cacheCfg);
}
}
我不明白这个类的意思。
首先,这个类A是实现接口Ignite的,那为什么要把接口Ignite传递给这个类呢?
其次,对于A类中的createCache方法,它返回ignite.createCache(cacheCfg),那么这个方法的具体实现是什么?
谢谢!
【问题讨论】:
-
您阅读了项目中的代码却不明白这一点?我虽然这是你的项目?然后分别寻找包装类。 委托模式,它可能会为现有功能添加额外的功能。
-
这门课不是我写的。我正在阅读这门课并试图理解这意味着什么。
-
看起来像装饰器模式。在 Java 的 IO API 中也做了类似的事情。例如:看看
java.io.BufferedReader。 -
@anacron 哦,谢谢,这真的很有帮助。
标签: java class interface ignite implements