实用指南:Go语言设计模式:享元模式详解
更多内容请见:100天Go语言从入门到精通系列-专栏介绍和目录
文章目录
一、享元模式概述
1.1 什么是享元模式?
享元模式是一种结构型设计模式,它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,从而在有限的内存容量下载入大量对象。
简单来说,享元模式的核心思想是**“共享”**。它将对象的状态分为两类:
- 内部状态通过:能够共享的、不随环境变化的、存储在享元对象内部的信息。
- 外部状态:不可共享的、随环境变化的、由客户端传入并存储在享元对象外部的信息。
凭借分离这两种状态,我们能够让多个不同的上下文共享同一个享元对象,从而极大地减少内存中对象的数量。
一个绝佳的比喻:想象一下围棋棋盘。
- 棋子:只有两种,黑子和白子。它们的颜色、形状、大小是固定的,这就是内部状态。
- 位置:每个棋子放在棋盘的哪个位置是不同的,这就是

浙公网安备 33010602011771号