C++ C+中的对等对象通信+;
必须设计一个在对等对象之间建立通信的infra。 这里所有的经理都是同龄人,没有人认识彼此。经理订阅活动,其他经理发布。经理没有其他经理的参考,他们只发布和订阅。主管只创建那些经理 有没有关于设计这样的infra的建议,使管理者能够将事件发送给其他人???C++ C+中的对等对象通信+;,c++,C++,必须设计一个在对等对象之间建立通信的infra。 这里所有的经理都是同龄人,没有人认识彼此。经理订阅活动,其他经理发布。经理没有其他经理的参考,他们只发布和订阅。主管只创建那些经理 有没有关于设计这样的infra的建议,使管理者能够将事件发送给其他人??? 观察观察者模式。如果您在将其应用于您的问题时遇到问题,请告诉我,我将引导您走上正确的道路。Boost.Signals2解决方案: #include <boost/signals2/signal.hpp> #include <
观察观察者模式。如果您在将其应用于您的问题时遇到问题,请告诉我,我将引导您走上正确的道路。Boost.Signals2解决方案:
#include <boost/signals2/signal.hpp>
#include <boost/bind.hpp>
#include <iostream>
using namespace boost;
using namespace std;
class Manager{
public:
signals2::signal<void ()> *Msg;
void Foo() { cout << "Foo" << endl;}
};
class Director{
public:
Manager CreateManager() { return Manager();}
};
int main()
{
Director dir;
Manager m1 = dir.CreateManager();
Manager m2 = dir.CreateManager();
m1.Msg = new signals2::signal<void ()>();
m1.Msg->connect(bind(&Manager::Foo, &m2));
(*m1.Msg)();
}
#包括
#包括
#包括
使用名称空间boost;
使用名称空间std;
班级经理{
公众:
信号2::信号*味精;
void Foo(){cout Try with Boost.SignalsObserver模式将有助于经理与主管之间的沟通。但我需要彼此不了解的同行之间的沟通。@cpp..不幸的是,我们没有按照业务规则使用Boost库的规定..而且,我看到经理直接与其他经理连接。这里有什么好处?