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

旅社网站怎么建立企业网站模板源码

旅社网站怎么建立,企业网站模板源码,wordpress 美化 插件,软件测试培训三个月骗局目录 1. 享元模式简介 2. 代码示例 1. 享元模式简介 享元模式是一种结构型模式。 享元模式用于缓存共享对象,降低内存消耗。共享对象相同的部分,避免创建大量相同的对象,减少内存占用。 享元模式需要将对象分成内部状态和外部状态两个部分…

目录

1. 享元模式简介

2. 代码示例


1. 享元模式简介

享元模式是一种结构型模式

享元模式用于缓存共享对象,降低内存消耗。共享对象相同的部分,避免创建大量相同的对象,减少内存占用。

享元模式需要将对象分成内部状态和外部状态两个部分

所谓内部状态指的是可以共享的状态,外部状态指的是会随着对象的使用而改变的的状态。

比如,如果要模拟一个五子棋程序。对棋子来说,棋子的图片就属于内部状态,而棋子的位置和大小就属于外部状态。棋子的图片可以被所有使用棋子的地方所共享,棋子的位置和大小每个使用的地方都不一样。


享元模式通常要搭配简单工厂模式一起使用,在简单工厂内使用一个享元对象的缓存池,缓存享元对象。

2. 代码示例

就以棋子模拟程序作为示例,代码如下所示:

#if 1#include <iostream>
#include <map>
#include <memory>
#include <string>using namespace std;enum ChessPieceType { White, Black };class ChessPiece {
public:virtual void Draw(int x, int y) = 0;virtual ~ChessPiece() {}
};class WhiteChessPiece : public ChessPiece
{
public:void Draw(int x, int y) override{cout << "在(" << x << "," << y << ") 位置放置白棋子" << endl;}
};class BlackChessPiece : public ChessPiece
{
public:void Draw(int x, int y) override{cout << "在(" << x << "," << y << ") 位置放置黑棋子" << endl;}
};class ChessFactory
{
public:static shared_ptr<ChessPiece> CreateChessPiece(ChessPieceType type){if (chessPieces.find(type) == chessPieces.end()){if (type == White){chessPieces[type] = make_shared<WhiteChessPiece>();}else if (type == Black){chessPieces[type] = make_shared<BlackChessPiece>();}}return chessPieces[type];}
private:static map<ChessPieceType, shared_ptr<ChessPiece>> chessPieces;
};map<ChessPieceType, shared_ptr<ChessPiece>> ChessFactory::chessPieces;int main()
{auto piece1 = ChessFactory::CreateChessPiece(ChessPieceType::White);piece1->Draw(1, 2);auto piece2 = ChessFactory::CreateChessPiece(ChessPieceType::Black);piece2->Draw(3, 4);auto piece3 = ChessFactory::CreateChessPiece(ChessPieceType::White);piece3->Draw(5, 6);return 0;
}#endif

运行截图如下:

http://www.wangmingla.cn/news/58747.html

相关文章:

  • 济南电子商务网站开发国外网站谷歌seo推广
  • 做软件界面的网站提高网站排名的软件
  • 韩国男女做那个视频网站seo黑帽培训
  • 网站seo内部优化百度推广一天费用200
  • 网络公司在哪里seo服务外包
  • 做公司网站有什么需要注意的怎么营销一个产品
  • 怎么查网站域名快速排名软件seo系统
  • 网站的ftp账号和密码购买域名后如何建立网站
  • 网站设计的分辨率网络优化排名培训
  • 经销做网站都有什么好处软件推广是什么工作
  • 投票网站制作app开发成本预算表
  • 网站建设用模板西安做网站的公司
  • 代理小企业网站建设盐城seo营销
  • 展示网站模板下载今日新闻摘抄50字
  • 学习建设网站广州抖音seo
  • 湖北专业网站建设公司中国十大电商平台
  • 网页设计的交流网站谷歌广告怎么投放
  • 河北建设广州分公司网站西安seo推广
  • 建站模板建网站网站优化方案设计
  • wordpress点击文字弹出层seo优化顾问
  • 保山市建设局网站登录上海网络营销上海网络推广
  • 做效果图挣钱的网站京东关键词优化技巧
  • 深圳网站建设营销策划seo学徒是做什么
  • 晋州建设规划局网站114啦网址导航官网
  • 网站 线框图购物网站页面设计
  • 兰州网站维护无锡网站制作推广
  • 宿州商务网站建设外包优化网站
  • 电商网站建设注意广告营销推广方案
  • 旅游网站建设哪家好百度收录网址
  • 东莞人才市场档案seo中介平台