Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("general method");
            TeslaCar tesla = new TeslaCar();

            Console.WriteLine(tesla.Build());
            Console.WriteLine("---------------------------");

            Console.WriteLine("simple factory");
            CarFactory factory = new CarFactory();
            Car        audiCar = factory.CreateCar("Audi");

            Console.WriteLine(audiCar.Build());
            Console.WriteLine("---------------------------");

            Console.WriteLine("factory method");
            IFactory carFactory = new BenzFactory();
            Car      benZCar    = carFactory.CreateCar();

            Console.WriteLine(benZCar.Build());
            Console.WriteLine("---------------------------");

            Console.WriteLine("abstract factory");
            ICarFactory sportCarFactory = new SportCarFactory();
            ICar        benzSportCar    = sportCarFactory.GetBenzCar();
            ICar        teslaSportCar   = sportCarFactory.GetTeslaCar();

            benzSportCar.BuildCar();
            teslaSportCar.BuildCar();
            Console.ReadKey();
        }
    public static AbsCar CreateCar(CarType type)
    {
        AbsCar        target  = null;
        AbsCarFactory factory = null;

        switch (type)
        {
        case CarType.Benz:
            factory = new BenzFactory();
            break;

        case CarType.Bmw:
            factory = new BmwFactory();
            break;

        case CarType.Honda:
            factory = new HondaFactory();
            break;

        default:
            break;
        }
        if (null == factory)
        {
            return(null);
        }
        target = factory.CreateCar();
        return(target);
    }
Exemple #3
0
        static void Main(string[] args)
        {
            IFactory factory = new AudiFactory();

            Console.WriteLine(factory.CreateAuto());
            factory = new BenzFactory();
            Console.WriteLine(factory.CreateAuto());
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            //生产Benz
            IFactory benzFactory = new BenzFactory();

            ICar benzJeep    = benzFactory.ProduceJeep();
            ICar benzRunning = benzFactory.ProduceRunning();

            benzJeep.Run();
            benzRunning.Run();
        }
Exemple #5
0
        static void Main(string[] args)
        {
            Console.WriteLine("Abstract Factory Mode");

            CarFactory carFactory = new BenzFactory();

            carFactory.CreateWindows();
            carFactory.CreateWheels();

            Console.WriteLine("Change Factory To BMWFactory");
            carFactory = new BmwFactory();
            carFactory.CreateWindows();
            carFactory.CreateWheels();
        }