lundi 27 août 2018

Which pattern to use in order to execute new code by just adding new subclasses of a base class?

I am trying to figure out a pattern to avoid code duplication in a situation similar to the one bellow:

std::list<int> error_list;
void validate()
{
    if( validate_0001() == false )
    { error_list.push_back(1); }

    if( validate_0002() == false )
    { error_list.push_back(2); }

    ...
}

The method 'validate' is public in a class responsible for performing different actions, in the example validations, each one with an unique id. I want to be able to add a new action by just extending a base class, without the need to create a new method and add its call and its error handling inside the validate method.

Aucun commentaire:

Enregistrer un commentaire