I'm trying to understand why object should be created using factories and not new operator? For example:
$validatePost = Validation::factory($_POST);
instead of
$validatePost = new Validation($_POST);
The static method factory of the class does exactly the same:
public static function factory(array $array)
{
return new Validation($array);
}