var task:Task = new Task()
.and(new FirstCommand())
.and(new SecondCommand())
.next(new ThirdCommand())
.next(new FourthCommand());
task.addEventListener(TaskEvent.TASK_COMPLETE, handleTaskComplete);
task.execute();<code lang="actionscript">
var task:Task = new Task();
task.if_(new ConditionProvider())
.next(new FirstCommand())
.else_()
.next(new SecondCommand())
.end();
task.addEventListener(TaskEvent.TASK_COMPLETE, handleTaskComplete);
task.execute();
</code>
Вот когда детей учат им говорят, что в хенлерах писать логику нельзя, для этого делают типа postHandler в котором уже вызывают a(), b(). А если потом придется что-то изменить, то не нужно лезть в общую куча, а просто редактируешь нужный метод.
Вот и это так же, только намного сложнее.
Я очень ярый сторонник java архитектуры и мне вот не докажешь что это плохо, я почему-то её в любом языке вижу, даже в том же js. И если пользоваться es6, es7 и говорить что это не настоящие классы, то нужно петицию разработчикам js и обвенить их в слабоумии чтоль.