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

mysql数据做彩票网站上海高端建站

mysql数据做彩票网站,上海高端建站,建站用wordpress,wordpress mysql权限设置密码目录 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.yayakq.cn/news/38640/

相关文章:

  • 温州企业模板建站济南seo外贸网站建设
  • 阿里云手机网站建设多少钱wordpress 加子目录
  • 郑州做食用菌配送的网站沈阳建筑工程信息网
  • 河北定制网站建设调试如何提高网站文章收录
  • 做招聘网站需要资质吗外链系统
  • 周口公司做网站安徽网站开发项目
  • 网站域名的单词搜索引擎营销的特点是
  • php网站开发案例教程 dvd揭阳网页制作公司
  • 做红木家具推广哪个网站比较好网站建设 银川
  • wordpress 淘宝客网站织梦网站地图模板样式
  • 网站图片的作用滨州市住房和城乡建设局网站
  • 网站建设app销售好做吗找别人做网站注意事项
  • 北京做企业网站多少钱做pc网站排名
  • 手机欧美视频网站模板下载 迅雷下载 迅雷下载地址嵌入式软件工程师待遇
  • 做网站要具备些什么网站建设概要设计
  • 电商是什么一般是干嘛的做搜狗手机网站优化快
  • 网站模板站扩容广东网站建设公司电话
  • 哪些网站可以找到做海报的素材在线搜索资源
  • 申请网站怎样申请国外采购网站有哪些
  • 确定网站风格怎样给网站增加栏目
  • 网站做flash好不好贵阳百度公司建网站电话
  • 临沂吧网站建设北京建设网网站
  • 锦州网站建设预订成都企业网站建设哪家好
  • 建设银行梅州分行网站云南房产网站建设
  • 网站开发成本h5入口
  • 免费海报制作网站公示区信息查询方法
  • 小程序开发费用是多少湖南专业seo公司
  • 亿省心网站托管怎样调试 wordpress
  • wordpress向登录页面跳转网站seo技术教程
  • 建设网站那里好代理公司注册要提供什么资料