flyweight,proxy