Tuesday, June 9, 2009

Conditional Complexity

see Conditional Complexity

public function validateObject(object:Object):void {
if (conditionA || conditionB) {
throw new ObjectValidationError(object);
}
if (conditionC || conditionD) {
throw new ObjectValidationError(object);
}
if (conditionE || conditionF) {
throw new ObjectValidationError(object);
}
// and many more if-statements
}


public function validateObject(object:Object):void {
if (conditionA || conditionB) {
invalid(object);
}
if (conditionC || conditionD) {
invalid(object);
}
if (conditionE || conditionF) {
invalid(object);
}
}

protected function invalid(object:Object):void {
throw new ObjectValidationError(object);
}


public function validateObject(object:Object):void {
validate(conditionA && conditionB, object)
validate(conditionC && conditionD, object)
validate(conditionE && conditionF, object)
}

protected function validate(isValid:Boolean, object:Object):void {
if (!isValid) {
throw new ObjectValidationError(object);
}
}

No comments:

Post a Comment