Последним примером реального мира, который я имею, является довольно несерьезное, но он демонстрирует, как рекурсия 'просто соответствует' иногда.
я использовал Цепочку шаблона Ответственности, таким образом, Объект-обработчик или обрабатывает сам запрос или делегирует его вниз цепочка. Полезно зарегистрировать конструкцию цепочки:
public String getChainString() {
cs = this.getClass().toString();
if(this.delegate != null) {
cs += "->" + delegate.getChainString();
}
return cs;
}
Вы могли утверждать, что это не самая чистая рекурсия, потому что, хотя вызовы метода "сама", это находится в различном экземпляре каждый раз, это называют.
Я сделал следующее:
from django.core.files.storage import FileSystemStorage
upload_storage = FileSystemStorage(location=UPLOAD_ROOT, base_url='/uploads')
image = models.ImageField(upload_to='/images', storage=upload_storage)
UPLOAD_ROOT
определен в моем файле settings.py
: / foo / bar / webfolder / uploads