Я часто вижу шаблон, используемый в обстоятельствах, когда у нас есть код поиска, который необходимо выполнить, прежде чем мы получим доступ к объекту. При использовании этого шаблона обычно слово начинается с
.
Например, у нас есть записи клиентов, которые необходимо извлечь из базы данных, прежде чем мы сможем их использовать:
def withCustomer (id, closure) {
def customer = getCustomer(id)
closure(customer)
}
withCustomer(12345) { customer ->
println "Found customer $customer.name"
}
Groovy не делает такого различия между замыканиями и анонимными функциями. Возможно, я мог бы спросить, есть ли название для этого шаблона с анонимными функциями.