定义:
共享代码
内部状态和外部状态,内部状态存储于对象中,而外部状态则应考虑由客户端对象存储或计算,当调用FlyWeight对象的操作时,将该状态传递给它。
应用:
棋类游戏的开发:
围棋和五子棋只有黑白两色,跳棋颜色略多一些,但是也是不太变化的,所以颜色是内部状态,而各个棋子之间的差别主要是位置的不同,所以方位坐标应该是棋子的外部状态,如果使用享元模式,围棋只需要两个实例,黑跟白实例,
定义:
共享代码
内部状态和外部状态,内部状态存储于对象中,而外部状态则应考虑由客户端对象存储或计算,当调用FlyWeight对象的操作时,将该状态传递给它。
应用:
棋类游戏的开发:
围棋和五子棋只有黑白两色,跳棋颜色略多一些,但是也是不太变化的,所以颜色是内部状态,而各个棋子之间的差别主要是位置的不同,所以方位坐标应该是棋子的外部状态,如果使用享元模式,围棋只需要两个实例,黑跟白实例,