Разделение программ с помощью очередей

В своем выступлении на отметке 54:53 минуты Рич Хики говорит об использовании очередей в качестве средства разделения зависимые части программы. Не могли бы вы привести мне пример того, как отделить следующий фрагмент псевдокода 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 и computeC зависят только от a .

Я знаю, что этот вопрос довольно расплывчатый / широкий. Я хотел бы получить представление о том, как использовать механизмы очередей без значительного усложнения моей программы и при этом убедиться, что она делает правильные вещи в правильном порядке. Приветствуются любые указатели в правильном направлении.

9
задан Matt 4 January 2012 в 12:25
поделиться