享元模式

角色:

  Flyweight:抽象享元类

  ConcreteFlyweight:具体享元类

  UnsharedConcrereFlyweight:非共享具体享元类

  FlyweightFactory:享元工厂类

模式动机:

  享元模式通过共享技术实现相同或相似对象的重用。

  在享元模式中可以共享的相同内容称为内部状态(Intrinsic State)

  需要外部环境来设置的不能共享的内容称为外部状态(Extrinsic State)

  在享元模式中通常会出现工厂模式,需要创建一个享元工厂来负责维护一个享元池(Flyweight Pool)用于存储具有相同内部状态的享元对象。

实例

  1、无外部状态

 

 

 

 

 

 

  2、有外部状态

 

posted @ 2022-10-20 16:22  信2005-2赵磊  阅读(24)  评论(0)    收藏  举报