代理模式有点像老大和小弟,也有点向分销商。主要解决的问题是为某些资源的访问、对象的类易用操作上提供方便使用的代理服务。而这种设计思想的模式经常会出现在系统中,或者组件中,它们都提供给我们一种非常简单易用的方式控制原本需要编写很多代码进行使用的服务类。

class Subject
{
public:
Subject(){}
virtual ~Subject() {}
virtual void show() {}
};
class RealSubject : public Subject
{
public:
RealSubject() {}
~RealSubject() {}
void show(){}
};
class Proxy : public Subject
{
public:
Proxy() { rs = nullptr; }
~Proxy() { delete rs; }
void show()
{
if (rs == nullptr)
rs = new RealSubject();
rs->show();
}
private:
RealSubject* rs;
};
int main()
{
Subject* subject = new Proxy();
subject->show();
return 0;
}
代理模式的设计可以让代码更加整洁干净易于维护
代理模式在C++中扮演着类似老大与小弟的角色,也类似于分销商,其主要目标是为资源访问和对象操作提供便利的代理服务。通过这种设计,原本复杂的代码得以简化,使得系统或组件的使用更加直观,同时有利于代码的整洁和维护。
451

被折叠的 条评论
为什么被折叠?



