미처 완성되지 못한 알고리즘

팩토리 메소드 패턴 간단한 예 본문

IT/디자인 패턴

팩토리 메소드 패턴 간단한 예

-June- 2017. 9. 28. 19:06

  abstract class Product { }

    class ConcreteProductA : Product { }

    class ConcreteProductB : Product { }


    abstract class Creator

    {

        public abstract Product FactoryMethod();

    }


    class ConcreteCreatorA : Creator

    {

        public override Product FactoryMethod()

        {

            return new ConcreteProductA();

        }

    }


    class ConcreteCreatorB : Creator

    {

        public override Product FactoryMethod()

        {

            return new ConcreteProductB();

        }

    }


    class Program

    {


        static void Main(string[] args)

        {

            Creator[] creators = new Creator[2];

            creators[0] = new ConcreteCreatorA();

            creators[1] = new ConcreteCreatorB();


            for(int i = 0; i < creators.Length ;i++)

            {

                var product = creators[i].FactoryMethod();

                Console.WriteLine("created {0}", product.GetType().Name);

            }

        }

    }

'IT > 디자인 패턴' 카테고리의 다른 글

command 패턴의 간단한 예들  (0) 2017.10.02
옵저버 패턴의 간단한 예들  (0) 2017.09.29
어댑터 패턴의 간단한 예들  (0) 2017.09.29
간단한 싱글톤 예제들  (0) 2017.09.25