实用指南:Go语言设计模式:享元模式详解

更多内容请见100天Go语言从入门到精通系列-专栏介绍和目录

一、享元模式概述

1.1 什么是享元模式?

享元模式是一种结构型设计模式,它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,从而在有限的内存容量下载入大量对象
简单来说,享元模式的核心思想是**“共享”**。它将对象的状态分为两类:

  • 内部状态通过:能够共享的、不随环境变化的、存储在享元对象内部的信息。
  • 外部状态:不可共享的、随环境变化的、由客户端传入并存储在享元对象外部的信息。
    凭借分离这两种状态,我们能够让多个不同的上下文共享同一个享元对象,从而极大地减少内存中对象的数量。

一个绝佳的比喻:想象一下围棋棋盘。

  • 棋子:只有两种,黑子和白子。它们的颜色、形状、大小是固定的,这就是内部状态
  • 位置:每个棋子放在棋盘的哪个位置是不同的,这就是
posted @ 2025-11-30 15:30  gccbuaa  阅读(1)  评论(0)    收藏  举报