Flyweight(轻量级):按照通常方式编写程序会导致程序变重,所以如果能够共享实例会比较好,而Flyweight角色表示的就是那些实例会被共享的类。

FlyweightFactory(轻量级工厂):该角色是生成Flyweight角色的工厂,在工厂中生成Flyweight角色可以实现共享实例。

Client(请求者):该角色使用FlyweightFactory角色生成Flyweight角色。