使用言語はObjective-C ですが、言語に限定された話ではないかと思い質問します。
以下のように概念的には小分けした手続きとして記述したいタスクがあるとします。
url = getUrlFrom(fixedURL1);
keyword = getKeywordFrom(url);
images = getImagesFrom(fixedURL2, kwd);
ですが、実装段階で利用しが容易なライブラリは非同期通信を行っているとします。(デリゲート/委譲が必要)
この場合
・デリゲートの中で次の処理を別のデリゲートに更にその中で... (2つ以上先の処理の見通しが悪い)
・デリゲートは全部無名関数でその場に記述 (小分けを諦める & インデントが深くなる...)
どっちもイマイチな感が否めません。
なにかクールなパターンがあると思うのですがどうでしょうか?