试图将实际问题与理论等价物联系/联系起来,我已经筋疲力尽了。
我将选择一个非常简单的例子来说明我的问题。
假设我有一个 Worker 类:
class Worker {
private : // default access modifier
int workerId;
};
假设我有一个 Table 类:
class Table {
private : // default access modifier
int tableId;
};
假设我有一个 ResturantManager 类:
class ResturantMangager
private: // default access modifier
list<Table*> allTables;
list<Worker*> allWorkers;
public:
// the function should tell the worker that he should call one of its function,
// its decision to what table to put the client returned by its function
// must be somehow updated in the allTables (mark the table he chose to put the client
// as unavailable).
void putClientInTable(const Worker& worker, const Client& client);
};
现在我想允许工作人员将一个客户端放在一个可用的表中,然后我希望餐厅的类数据成员 allTables 将此表(通过 ID 查找)标记为不可用。这意味着 Worker 应该能够决定选择哪个表(或者 ResturantManager 告诉他 - 我看不出如何以不同的方式实现它),然后必须更新 ResturantManager 的 allTables 。
我正在寻找最适合这个想法的设计模式( http://sourcemaking.com/design_patterns )。
有没有适合这个问题的设计模式?
谢谢你们。