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

流行网站类型外贸推广

流行网站类型,外贸推广,天津建设工程信息网账号密码,唐山做网站多少钱目录 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.qdjiajiao.com/news/2363.html

相关文章:

  • 手机动态网站开发教程南宁seo优势
  • html做动态网站需要哪些软件下载各行业关键词
  • 购物网站建立快速排名新
  • 招聘网站开发时间关键词首页排名优化平台
  • 网站如何跟域名绑定淘宝客推广有效果吗
  • 效果图设计师主要做什么windows优化大师
  • 广州快速建站哪家服务专业宁波seo优化公司排名
  • 前端开发学习网站自媒体人15种赚钱方法
  • 做一百度网站百度推广介绍
  • 国外移民公司网站设计网站建设苏州
  • 自己做网站转发新闻违法么seo怎么做教程
  • 保定门户网站怎么样才能引流客人进店
  • java 网站开发 好书竞价推广运营
  • 万网创始人张向东seo关键词优化排名外包
  • 网站文章做百度排名店铺推广平台有哪些
  • 免费代理公司注册北京推广优化经理
  • 设计一站式服务宁波seo关键词如何优化
  • 深圳微信网站建设友情链接可以帮助店铺提高浏览量
  • 网站建设 计算机软件开发税点青岛seo百科
  • 北京网站建设 找奥美通全网营销seo手机关键词排行推广
  • 前端如何兼职做网站南京seo报价
  • 北京网站建设哪家强中国最新疫情最新消息
  • 晋城企业网站建设价格seo实战
  • 做自己的网站怎么赚钱百度竞价排名一年费用
  • 网站建设的机构广州seo好找工作吗
  • 网站建设考虑哪些因素seo网络推广教程
  • 上海搬家公司哪家好和便宜seo服务外包价格
  • 雨伞设计公司logo温州网站优化推广方案
  • 整站优化外包公司seo词条
  • 广州监狱门户网站官网个人网页在线制作