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

黄岛做网站的公司网上接工程活做的网站

黄岛做网站的公司,网上接工程活做的网站,黄页网址大全免费,自己免费制作logo软件定义:享元模式是一种结构型设计模式,它使用共享对象,用以尽可能减少内存使用和提高性能。享元模式通过共享已经存在的对象实例,而不是每次需要时都创建新对象实例,从而避免大量重复对象的开销。 对比: 与单…

定义:享元模式是一种结构型设计模式,它使用共享对象,用以尽可能减少内存使用和提高性能。享元模式通过共享已经存在的对象实例,而不是每次需要时都创建新对象实例,从而避免大量重复对象的开销。

对比:

        单例模式对比:两者都限制了对象的创建,不同之处在于单例模式全局只有一个实例,而享元模式会在状态相同时共享同一个实例。

        与原型模式对比:虽然原型模式不涉及状态的共享,但通过现有对象来创建一个新对象,达到了新对象和原对象“内容”上的一致。在实现原型模式时,根据场景也可以使用享元模式来优化对象的存储和创建过程。

        代码:

// 抽象享元角色
class Flyweight {
public:virtual ~Flyweight() = default;virtual void display(const std::string& extrinsicState) = 0; // 外在状态作为参数传递
};// 具体享元角色
class ConcreteFlyweight : public Flyweight {
private:char intrinsicState; // 内在状态
public:ConcreteFlyweight(char state) : intrinsicState(state) {}void display(const std::string& extrinsicState) override {std::cout << "Intrinsic State: " << intrinsicState << ", Extrinsic State: " << extrinsicState << std::endl;}
};// 享元工厂角色
class FlyweightFactory {
private:std::unordered_map<char, std::shared_ptr<Flyweight>> flyweights;
public:std::shared_ptr<Flyweight> getFlyweight(char key) {if (flyweights.find(key) == flyweights.end()) {flyweights[key] = std::make_shared<ConcreteFlyweight>(key);}return flyweights[key];}
};// 客户端角色
class Client {
private:std::shared_ptr<FlyweightFactory> factory;
public:Client(std::shared_ptr<FlyweightFactory> f) : factory(f) {}void execute(char key, const std::string& extrinsicState) {std::shared_ptr<Flyweight> flyweight = factory->getFlyweight(key);flyweight->display(extrinsicState);}
};int main() {std::shared_ptr<FlyweightFactory> factory = std::make_shared<FlyweightFactory>();Client client(factory);client.execute('A', "Position (10, 20)");client.execute('B', "Position (15, 25)");client.execute('A', "Position (20, 30)"); // 'A' 是共享的,所以使用相同的实例return 0;
}

http://www.yayakq.cn/news/204551/

相关文章:

  • 上海做网站的价格临沂网站建设对实体企业
  • 2万块建一个网站贵吗站长统计app软件下载官网
  • 网站制作服务商中国建设银行网站怎么登录不上去
  • 市直部门网站建设维护工作总结做网站数据库有哪些
  • 做网站做一个什么主题的如何建设备案网站视频教程
  • 建外贸网站用什么主机工商注册名字查重
  • 海尔网站建设网站开发合同补充协议
  • 怎样建设简单的网站网站制作怎么报价
  • 无锡制作网站公司网站开发技术描述
  • 为什么建设网站wordpress同时上传多个文件上传
  • 潍坊知名网站建设公司陕西农产品网站建设
  • 哈尔滨住建局网站首页成都新津县建设网站
  • 网站制作人员php网站开发 课程介绍
  • 中国电力建设股份有限公司官方网站宣威市住房和城乡建设局网站下载中心
  • 做百度联盟做什么类型网站福州室内设计公司排名
  • 如何做幸运28网站代理江苏高效网站制作公司
  • jsp网站专门找人做软件的网站
  • 山西大同企业做网站php做网站 价格
  • 网站图怎么做会高清网络服务提供者知道或者应当知道网络
  • 私人定制平台网站网站不备案可以用吗
  • 平面设计有几个软件广州软件系统开发seo推广
  • 网站模板 静态模版番禺有经验的网站建设
  • 辛集专业网站建设中文网址怎么注册
  • 电子商务网站开发形式选择拼多多网站首页
  • 做文库网站怎么赚钱吗网站备案 域名备案
  • 保定网站建设设计公司简单网页制作代码html
  • 网站开发如何使用API课程网站建设ppt模板下载
  • 信息网站 模板小企业网站建设5000块贵吗
  • 专业专业的网站开发百度网站收录提交入口全攻略
  • 建设部造价咨询企业网站临沂网站公司哪家好