一个具体例子:它涉及到四个角色:抽象享元角色:此角色是所有具体享元类的超类,为这些类规定需要的接口,那些需要外蕴状态(External State)的操作可以调用商业的方法以参数方式传入。具体享元角色:实现抽象享元所规定的接口,如果有内蕴状态,则必须负责为内蕴提供存储空间。享元对象的内蕴状态必须与外部环境无关,从而使得享元对象在系统内共享。享元工厂角色:负责创建与管理享元角色。本角色必须保证享元对象可以在系统内适当共享.客户端角色:维护一个对所有享元对象的引用,需要自行存储所有享元对象的外蕴状态。 一个例子:抽象享元类