class Service {
public:
int QueryData() {
// 服务端,查询数据,订阅数据,修改数据等
cout << "this is service data" << endl;
return 0;
}
};
class CProxy {
private:
CProxy() {
}
static CProxy* Instance;
Service m_server;
public:
static CProxy* GetInstance() {
if (Instance == nullptr) {
Instance = new CProxy();
}
return Instance;
}
static CProxy& GetProxy() {
static CProxy single;
return single;
}
int QueryData() {
// 代理访问服务端
m_server.QueryData();
return 0;
}
};
CProxy* CProxy::Instance = nullptr;
class Client {
public:
void ShowData()
{
CProxy* px = CProxy::GetInstance();
px->QueryData();
CProxy prx = CProxy::GetProxy();
prx.QueryData();
}
};
TEST(Proxy, Proxy1)
{
Client cl;
cl.ShowData();
}