private void ExecuteAttackCommand(string[] commandArgs) { var nameAttacker = commandArgs[1]; var nameDeffender = commandArgs[2]; if (!this.blobs.ContainsKey(nameAttacker) || !this.blobs.ContainsKey(nameDeffender)) { throw new ArgumentException("Unknown unit name"); } IUnit attacker = this.blobs[nameAttacker]; int atackedDamage = attacker.Attacking(); IUnit deffender = this.blobs[nameDeffender]; deffender.Deffending(atackedDamage); }