コード例 #1
0
ファイル: Program.cs プロジェクト: devgis/CSharpDesignPattern
        static void Main(string[] args)
        {
            // 我买了个苹果手机
            Phone phone = new ApplePhone();

            // 现在想贴膜了
            Decorator applePhoneWithSticker = new Sticker(phone);

            // 扩展贴膜行为
            applePhoneWithSticker.Print();
            Console.WriteLine("----------------------\n");

            // 现在我想有挂件了
            Decorator applePhoneWithAccessories = new Accessories(phone);

            // 扩展手机挂件行为
            applePhoneWithAccessories.Print();
            Console.WriteLine("----------------------\n");

            // 现在我同时有贴膜和手机挂件了
            Sticker     sticker = new Sticker(phone);
            Accessories applePhoneWithAccessoriesAndSticker = new Accessories(sticker);

            applePhoneWithAccessoriesAndSticker.Print();
            Console.ReadLine();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Phone phone = new iPhone();

            Decorator iPhoneWithSticker = new Sticker(phone);

            iPhoneWithSticker.Print();
            Console.WriteLine("-----------------");

            Decorator iPhoneWithAccessories = new Accessories(phone);

            iPhoneWithAccessories.Print();
            Console.WriteLine("-----------------");


            Sticker     sticker = new Sticker(phone);
            Accessories iPhoneWithStickerAndAccessoies = new Accessories(sticker);

            iPhoneWithStickerAndAccessoies.Print();
            Console.ReadLine();
        }