Beispiel #1
0
        private static void Main()
        {
            var mallardDuck = new MallardDuck();

            mallardDuck.Display();
            mallardDuck.PerformQuack();
            mallardDuck.Swim();
            mallardDuck.PerformFly();
            Console.WriteLine();

            var redheadDuck = new RedheadDuck();

            redheadDuck.Display();
            redheadDuck.PerformQuack();
            redheadDuck.Swim();
            redheadDuck.PerformFly();
            Console.WriteLine();

            var rubberDuck = new RubberDuck();

            rubberDuck.Display();
            rubberDuck.PerformQuack();
            rubberDuck.Swim();
            rubberDuck.PerformFly();
            Console.WriteLine();

            var decoyDuck = new DecoyDuck();

            decoyDuck.Display();
            decoyDuck.Swim();
            Console.WriteLine();

            Console.Write("Press Enter to exit ...");
            Console.ReadLine();
        }
        public void RedheadDuck_Should_Quack_Swim_Fly_Display()
        {
            var redheadDuck = new RedheadDuck();

            Assert.Equal("quack", redheadDuck.PerformQuack());
            Assert.Equal("swim", redheadDuck.Swim());
            Assert.Equal("fly", redheadDuck.PerformFly());
            Assert.Equal("looks like a redhead", redheadDuck.Display());
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            RedheadDuck duckduck = new RedheadDuck();

            duckduck.PerformFly();
            duckduck.PerformQuack();
            Duck duck = new RubberDuck();

            duck.PerformFly();
            duck.PerformQuack();
            duck.QuackBehaviour = new QuackOne();
            duck.PerformQuack();
        }
Beispiel #4
0
 // Use this for initialization
 void Start()
 {
     RedheadDuck red_duck = new RedheadDuck();
     red_duck.PerformFly();
     red_duck.PerformQuack();
     /*
     FANUC_OI_M test_class = new FANUC_OI_M();
     Debug.Log(test_class.G_Check("G01", 8));
     Debug.Log( test_class.M_Check("M03", 10));
     Debug.Log(test_class.ErrorMessage);
     Debug.Log(test_class.G_Check("M500", 19));
     Debug.Log(test_class.ErrorMessage);
     */
 }
Beispiel #5
0
        static void Main(string[] args)
        {
            var mallardDuck = new MallardDuck();

            mallardDuck.QuackBehavior = new QuackAsNormal();
            mallardDuck.FlyBehavior   = new FlyWithWings();
            Console.WriteLine($"Mallard duck {new string('-', 50)}");
            mallardDuck.Swim();
            mallardDuck.PerformQuack();
            mallardDuck.PerformFly();

            var redheadDuck = new RedheadDuck();

            redheadDuck.QuackBehavior = new QuackAsNormal();
            redheadDuck.FlyBehavior   = new FlyWithWings();
            Console.WriteLine($"Redhead duck {new string('-', 50)}");
            redheadDuck.Swim();
            redheadDuck.PerformQuack();
            redheadDuck.PerformFly();

            var rubberDuck = new RubberDuck();

            rubberDuck.QuackBehavior = new Sqeak();
            rubberDuck.FlyBehavior   = new FlyNoWay();
            Console.WriteLine($"Rubber duck {new string('-', 50)}");
            rubberDuck.Swim();
            rubberDuck.PerformQuack();
            rubberDuck.PerformFly();

            var decoyDuck = new DecoyDuck();

            decoyDuck.QuackBehavior = new Mute();
            decoyDuck.FlyBehavior   = new FlyNoWay();
            Console.WriteLine($"Decoy duck {new string('-', 50)}");
            decoyDuck.Swim();
            decoyDuck.PerformQuack();
            decoyDuck.PerformFly();
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("##### 例子1 #####");

            // 无折扣.
            DiscountContext c1 = new DiscountContext(new NoDiscountStrategy());
            // 每本1元.
            DiscountContext c2 = new DiscountContext(new FlatRateStrategy()
            {
                OneCopyDiscount = 1
            });
            // 总金额 10%
            DiscountContext c3 = new DiscountContext(new PercentageStrategy()
            {
                Percent = 0.1M
            });

            Console.WriteLine(c1.GetBookDiscount(100, 10));
            Console.WriteLine(c2.GetBookDiscount(100, 10));
            Console.WriteLine(c3.GetBookDiscount(100, 10));



            Console.WriteLine("##### 例子2 #####");

            MallardDuck mallardDuck = new MallardDuck();
            RedheadDuck redheadDuck = new RedheadDuck();
            RubberDuck  rubberDuck  = new RubberDuck();

            Console.WriteLine(mallardDuck.Display() + " # " + mallardDuck.PerformFly().ToString() + " # " + mallardDuck.PerformQuack().ToString());
            Console.WriteLine(redheadDuck.Display() + " # " + redheadDuck.PerformFly().ToString() + " # " + redheadDuck.PerformQuack().ToString());
            Console.WriteLine(rubberDuck.Display() + " # " + rubberDuck.PerformFly().ToString() + " # " + rubberDuck.PerformQuack().ToString());



            Console.ReadLine();
        }