当前位置: 首页 > news >正文

在centos上做网站东莞今天新增加的情况

在centos上做网站,东莞今天新增加的情况,建设阅读网站的研究意义,唐山网站设计制作适配器模式: 定义:适配器模式是一种结构型设计模式,它允许接口不兼容的类一起工作。它通过将一个类的接口转换成客户端期望的另一个接口,使原本由于接口不兼容而不能一起工作的那些类可以一起工作。 代理模式: 定义&a…

适配器模式:

        定义:适配器模式是一种结构型设计模式,它允许接口不兼容的类一起工作。它通过将一个类的接口转换成客户端期望的另一个接口,使原本由于接口不兼容而不能一起工作的那些类可以一起工作。

代理模式:

        定义:代理模式也是一种结构型设计模式,为其他对象提供一种代理以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用,可以添加额外的控制或处理逻辑。

对比:两种设计模式的相同之处在于都使用中间层隔离了对真实接口的访问,不同之处在于适配器模式主要针对接口不兼容的问题,而代理模式的主要目的是控制对对象的访问或添加额外的处理逻辑。

        代码:

// 抽象组件类
class Component {
public:virtual ~Component() = default;virtual void add(std::shared_ptr<Component> component) = 0;virtual void display(int depth = 0) const = 0;
};// 叶子节点:文件类
class File : public Component {
private:std::string name;
public:File(const std::string& name) : name(name) {}void add(std::shared_ptr<Component>) override {std::cerr << "File cannot have subcomponents!" << std::endl;}void display(int depth = 0) const override {for (int i = 0; i < depth; ++i) {std::cout << "--";}std::cout << name << std::endl;}
};// 容器节点:文件夹类
class Directory : public Component {
private:std::string name;std::vector<std::shared_ptr<Component>> components;
public:Directory(const std::string& name) : name(name) {}void add(std::shared_ptr<Component> component) override {components.push_back(component);}void display(int depth = 0) const override {for (int i = 0; i < depth; ++i) {std::cout << "--";}std::cout << name << "/" << std::endl;for (const auto& component : components) {component->display(depth + 1);}}
};int main() {// 创建文件和文件夹auto file1 = std::make_shared<File>("file1.txt");auto file2 = std::make_shared<File>("file2.txt");auto dir1 = std::make_shared<Directory>("dir1");auto dir2 = std::make_shared<Directory>("dir2");// 构建文件系统树dir1->add(file1);dir1->add(file2);dir2->add(dir1);// 显示文件系统树dir2->display();return 0;
}
// 抽象主题角色
class Subject {
public:virtual void request() = 0;virtual ~Subject() = default;
};// 真实主题角色
class RealSubject : public Subject {
public:void request() override {std::cout << "RealSubject: Handling request." << std::endl;}
};// 代理角色
class Proxy : public Subject {
private:std::shared_ptr<RealSubject> realSubject;bool isRealSubjectLoaded = false;public:void request() override {if (!isRealSubjectLoaded) {loadRealSubject();}realSubject->request();}void loadRealSubject() {if (!isRealSubjectLoaded) {realSubject = std::make_shared<RealSubject>();isRealSubjectLoaded = true;}}
};int main() {Subject* proxy = new Proxy();proxy->request();delete proxy;return 0;
}

http://www.dt0577.cn/news/4622.html

相关文章:

  • 手机网站 软件简述常用的网络营销方法
  • 广州做韩国网站微信小程序怎么开通
  • 昆明公安系统网站新手怎么学做电商
  • 厦门网站建设哪里好seo指导
  • 个人备案的网站做企业内容学好seo
  • 做公司网站有用吗制作企业网站
  • 网站 为何要 备案昆明seo外包
  • 建设通网站上的业绩能否有用如何打百度人工电话
  • 齐河县城乡建设局官方网站百度的排名规则详解
  • 网站建设php文件放哪里网络营销专业
  • 昆明网站制作服务商有哪些平台可以做推广
  • wordpress 转小程序好的seo公司营销网
  • 网站建设工资 优帮云百度小说排行榜风云榜单
  • 做网站参考线怎么拉成人技能培训班有哪些
  • 欧美做的爱爱网站有哪些房地产销售技巧和话术
  • 网站在线开放端口网站平台怎么推广
  • 怎么样自己做一个网站珠海百度关键字优化
  • 毕节做网站重庆网络seo
  • 网站规划项目与设计实例常德网站优化公司
  • 成都鱼羊环保网站制作设计免费站长统计工具
  • 专门找人做软件的网站2022当下社会热点话题
  • 泰州专业网站建设公司青岛网络优化厂家
  • 韩国有哪些专业做汽车的网站长沙优化官网服务
  • 网盘网站开发sem运营有出路吗
  • 免备案网站建站推广渠道
  • 建设英文网站的必要性陕西seo主管
  • 杭州网站维护外包百度电话人工服务
  • 网站服务器托管协议网站定制开发
  • 做网站品牌公司五年级上册优化设计答案
  • 中国互联网协会会长佛山网络公司 乐云seo