oop - In C++ how to best decouple 2 classes that must maintain collections of references to each other -


i looking advice on elegant , secure way decouple 2 c++ classes maintain collections of pointers each other's types.

i implemented using common base class polymorphism , told unsatisfactory solution. eager learn other ways can achieved.

thanks in advance...

i have added simplified version of class definitions below. aware salesteam class not decoupled salesperson here.

// global vectors vector<customer *> v_customer;           vector<salesperson *> v_salesperson;   vector<salesteam *> v_salesteam;   class person {    // base class };  class customer: public person { private:     const person *contact;         // salesperson serves customer public:     customer(const int abirthyear);     virtual ~customer() {} };  class salesperson: public person { private:     vector<person *> v_client;  // these customers salesperson serves public:     salesperson();     virtual ~salesperson(){}; };  class salesteam { private:     vector<salesperson *> v_teammember;  // these sales people in salesteam public:     salesteam(); }; 

can use mediator pattern handle decouple issue? code example:

class mediator {     private:         //store relationship in class }  class salesperson: public person { private:     mediator mediator; public:     salesperson();     virtual ~salesperson(){}; };  class salesteam { private:     mediator mediator; public:     salesteam(); }; 

Comments

Popular posts from this blog

design - Custom Styling Qt Quick Controls -

Unable to remove the www from url on https using .htaccess -