54:53分の時点での彼の講演で、Rich Hickeyは、依存するプログラム部分を分離する手段としてのキューの使用について話している。デザインや柔軟性を向上させるために、次のJava擬似コードを重複排除する方法の例を教えてください。
// Warning: Java-pseudo-code ahead
class Job {
public void doRun(A a) {
saveObjectToDatabase(a);
B b = computeB(a);
saveObjectToDatabase(b);
C c = computeC(b);
logToFile(c);
}
}
saveObjectToDatabase
とsaveObjectToDatabase
は副作用のあるメソッドと見なすことができますが、computeB
'sとcomputeC
'の出力はにのみ依存しa
ます。
私はこの質問がかなり曖昧/広範であることを知っています。プログラムを大幅に複雑にすることなく、キューイングメカニズムを活用する方法を理解したいと思います。それでも、プログラムが正しい順序で正しいことを実行することを確認します。正しい方向へのポインタはありがたいです。