lundi 9 août 2021

Any pattern or good practice for the following? Dispatcher, Command, Orchestrator?

I'm currently working in a simulation project. I'm blocked on design. I wonder if there is an specific pattern or a best practice to solve it. Project structure is the following.

    //model
    
    class ProcessingXUnit{
    };
    class ProcessingXUnits{
    private:
    deque<ProcessingXUnit*>* _units;
    Params * _params;
    };
    
    //
    
    class ProcessingXMapper{};
    class ProcessingXIO{
    //read-writes stream maps to object
    protected:
    ProcessingXMapper * _mapper;
    };
    class ProcessingXUnitSimulator{};
    
class ProcessingXSimulator {
    
    
    protected:
    ProcessingXUnits * _processingUnits;
    ProcessingXIO * _processingIO;
    //deque<>
    };

Once model is read ProcessingXSimulator delegates in many ProcessingXUnitSimulator, my question is about any pattern or good practice to "abstract" the way processingUnits are distributed to ProcessingXUnitSimulator (s). I don't want to mix concepts, dispatcher, command, orchestrator...My goal would be to left open the possibility of multi-threaded simulationXUnits.

Aucun commentaire:

Enregistrer un commentaire