Exemple #1
0
        /// <summary>
        /// 運用工廠模式,根據傳入值回傳對應的英雄類別
        /// </summary>
        /// <param name="weaponType">傳入選項的值</param>
        /// <returns></returns>
        public static IAvengers GetAvenger(string weaponType)
        {
            IAvengers avenger;

            if (weaponType == "1")
            {
                return(avenger = new IronMan());
            }
            if (weaponType == "2")
            {
                return(avenger = new CaptainAmerica());
            }

            return(null);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            AvengerBuilder builder;
            Avengers       avengers = new Avengers();

            builder = new CaptainAmerica();
            avengers.Assemble(builder);

            Console.Write(builder.Avenger.ToString());

            builder = new BlackWidow();
            avengers.Assemble(builder);

            Console.Write(builder.Avenger.ToString());

            avengers.Assemble(new [] { (AvengerBuilder) new CaptainAmerica(), (AvengerBuilder) new BlackWidow() });

            Console.ReadKey();
        }