Exemple #1
0
        public void TestFlyweight()
        {
            var flyweightFactory = new FlyweightFactory();

            var unsharedFlyWeightOne = new UnsharedFlyweight(flyweightFactory.GetObject("FlyWeightOne"));
            var unsharedFlyWeightTwo = new UnsharedFlyweight(flyweightFactory.GetObject("FlyWeightOne"));

            Assert.AreEqual(unsharedFlyWeightOne.GetState(), unsharedFlyWeightTwo.GetState());
        }
        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);
        }