示例#1
0
        static void Main(string[] args)
        {
            int state = 0;
            FlyweightFactory factory   = new FlyweightFactory();
            Flyweight        flyweight = factory.GetFlyweight("2");

            flyweight.Operation(state);
            flyweight = factory.GetFlyweight("228");
            flyweight.Operation(state);

            flyweight = new UnsharedFlyweight();
            flyweight.Operation(state);
        }
        static void FlyweightExample()
        {
            var flyweightFactory = new FlyweightFactory();
            var flyweight1       = flyweightFactory.GetFlyweight("Test", 11);
            var flyweight2       = flyweightFactory.GetFlyweight("Test", 12);

            Console.WriteLine(flyweight1 == flyweight2);

            flyweight1.Operation(5);
            flyweight2.Operation(6);

            var flyweight3 = new UnsharedFlyweight();

            flyweight3.Operation(7);
        }