示例#1
0
    static void Main(string[] args)
    {
        Person xc = new Person("小菜");

        Console.WriteLine("\n第一种装扮:");

        Sneakers   pqx = new Sneakers();
        BigTrouser kk  = new BigTrouser();
        TShirts    dtx = new TShirts();

        // 一层层嵌套、后进先出
        pqx.Decorate(xc);
        kk.Decorate(pqx);
        dtx.Decorate(kk);
        dtx.Show();
        // 大T恤 垮裤 破球鞋 装扮的小菜

        Console.WriteLine("\n第二种装扮:");

        LeatherShoes px = new LeatherShoes();
        Tie          ld = new Tie();
        Suit         xz = new Suit();

        // 一层层嵌套、后进先出
        px.Decorate(xc);
        ld.Decorate(px);
        xz.Decorate(ld);
        xz.Show();

        Console.WriteLine("\n第三种装扮:");
        Sneakers     pqx2 = new Sneakers();
        LeatherShoes px2  = new LeatherShoes();
        BigTrouser   kk2  = new BigTrouser();
        Tie          ld2  = new Tie();

        // 一层层嵌套、后进先出
        pqx2.Decorate(xc);
        px2.Decorate(pqx);
        kk2.Decorate(px2);
        ld2.Decorate(kk2);

        ld2.Show();
        // 领带 垮裤 皮鞋 破球鞋 装扮的小菜

        Console.Read();
    }
示例#2
0
        public void Run()
        {
            Person person = new Person("骚货在");

            TShirts      tshirts = new TShirts();
            BigTrouser   trouser = new BigTrouser();
            LeatherShoes shoes   = new LeatherShoes();
            Suit         suit    = new Suit();
            Sneakers     sneaker = new Sneakers();
            Tie          tie     = new Tie();

            tshirts.Decorate(person);
            trouser.Decorate(tshirts);
            shoes.Decorate(trouser);
            suit.Decorate(shoes);
            sneaker.Decorate(suit);
            tie.Decorate(sneaker);

            tie.Show();
        }
示例#3
0
        static void Main(string[] args)
        {
            Person xc = new Person("小菜");

            Console.WriteLine(Environment.NewLine + "第一种装扮:");

            Sneakers   pqx = new Sneakers();
            BigTrouser kk  = new BigTrouser();
            TShirts    dtx = new TShirts();

            pqx.Decorate(xc);
            kk.Decorate(pqx);
            dtx.Decorate(kk);
            dtx.Show();

            Console.WriteLine(Environment.NewLine + "第二种装扮:");

            LeatherShoes px = new LeatherShoes();
            Tie          ld = new Tie();
            Suit         xz = new Suit();

            px.Decorate(xc);
            ld.Decorate(px);
            xz.Decorate(ld);
            xz.Show();

            Console.WriteLine(Environment.NewLine + "第三种装扮:");

            Sneakers     pqx2 = new Sneakers();
            LeatherShoes px2  = new LeatherShoes();
            BigTrouser   kk2  = new BigTrouser();
            Tie          ld2  = new Tie();

            pqx2.Decorate(xc);
            px2.Decorate(pqx2);
            kk2.Decorate(px2);
            ld2.Decorate(kk2);
            ld2.Show();

            Console.ReadKey(true);
        }