Я был впечатлен MapMaker дизайном Google. Я хотел бы знать, как называется шаблон, который используется здесь?
(Что я думаю, это что-то вроде шаблона декораторано в котором нам не нужно оборачивать объект в другой объект для расширения функциональности, но я не могу точно определить, какой это шаблон.)
Создание объекта MapMaker: -
ConcurrentMap<Key, Graph> graphs = new MapMaker()
.concurrencyLevel(32)
.softKeys()
.weakValues()
.expiration(30, TimeUnit.MINUTES)
.makeComputingMap(
new Function<Key, Graph>() {
public Graph apply(Key key) {
return createExpensiveGraph(key);
}
});