c \ # 공장 모델 간단 한 예

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/*                     ,                   ,
                    ,           */


namespace       
{
    //     
    public abstract class Book
    {
        public abstract void GetBook();
    }
    //     
    public class LiteratureBook : Book
    {
        public override void GetBook()
        {
            Console.WriteLine("         !");
        }
    }
    //       
    public class ComputerBook : Book
    {
        public override void GetBook()
        {
            Console.WriteLine("          !");
        }
    }
    //      
    public abstract class Manager
    {
        public abstract Book GetBook();
    }
    //         
    public class LiteratureManager: Manager
    {
        public override Book GetBook()
        {
            Book book;
            book = new LiteratureBook();
            return book;
        }
    }
    //          
    public class ComputerManager : Manager
    {
        public override Book GetBook()
        {
            Book book;
            book = new ComputerBook();
            return book;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //               
            Manager computermanager = new ComputerManager();
            //              
            Manager literaturemanager = new LiteratureManager();

            //       
            Book literaturebook = literaturemanager.GetBook();
            literaturebook.GetBook();
            //        
            Book computerbook = computermanager.GetBook();
            computerbook.GetBook();

            Console.ReadKey();

        }
    }
}
        솔직히 저 에 게 공장 모델 은 간단 한 공장 모델 보다 장점 이 뚜렷 하지 않 습 니 다. 확장 을 쉽게 실현 할 수 있 지만 구조 도 복잡 하고 응용 환경 도 파악 하기 어렵 습 니 다. 자신 이 쓴 코드 가 너무 적어 서 장점 을 이해 하지 못 했 습 니 다. 더 많은 노력 을 해 야 합 니 다!

좋은 웹페이지 즐겨찾기