Ну гм, тогда я тебя не понимаю.
Сожмём твой код:

Код AS3:
var turnDto:BattleTurnDto = new BattleTurnDto();
turnDto.battle_id = "1";
turnDto.unit_id = "10";
CommandManager.executeCommand(CommandList.COMMAND_BATTLE_TURN, turnDto);
Внесём в конструктор то, что ты вставляешь сеттерами (филдами?).

Код AS3:
var turnDto:BattleTurnDto = new BattleTurnDto(1, 10);
CommandManager.executeCommand(CommandList.COMMAND_BATTLE_TURN, turnDto);
У нас обоих в наших реализациях один запрос – одна команда. Поэтому я вышвыриваю CommandList.COMMAND_BATTLE_TURN из этого кода, внося её в конструктор BattleTurnDto. Зачем? Это DRY. Типа

Код AS3:
public function BattleTurnDto(battleID:int, unitID:int){
super();
super.commandName = CommandList.COMMAND_BATTLE_TURN;
}
Поэтому код сжался вот так:

Код AS3:
var turnDto:BattleTurnDto = new BattleTurnDto(1, 10);
CommandManager.executeCommand(turnDto);
Теперь я прикидываю, что всегда создавая команду я буду её отправлять. Через CommandManager. Это опять же значит, что я могу создать метод execute() внутри BaseCommand, который будет исполнять вот эту строчку:

Код AS3:
CommandManager.executeCommand(turnDto);
(в реальном коде это будет выглядеть как-то так)

Код AS3:
public function execute():void{
CommandManager.executeCommand(super.commandName, this);
}
Ну и, конечно, после её исполнения надо где-то обработать ответ. Обычно я делаю это внутри самой команды: она сама находит нужные модели, расфасовывает данные и прочее, но иногда удобно получить коллбек о том, что команда исполнена в пользовательском коде. Добавляется листенер addCompleteHandler.
Вот так рождается строчка:

Код AS3:
new BattleTurnDto().executeCommand().addCompleteListener(completeHandler);
На каком шаге это сжатие кода превращает примерно-нормальный в код Александра?