首页 > 其他 > 详细

抽象工厂模式

时间:2014-03-24 23:36:23      阅读:700      评论:0      收藏:0      [点我收藏+]

          上次讲解了简单工厂模式与工厂方法模式的区别,这次又学习了一种抽象工厂模式,我觉得也可以跟他们进行联系起来。这次就来讲解抽象工厂模式与他们的区别。

        上次说了从简单工厂模式到工厂方法模式的转换,这次看一下从工厂方法模式到抽象工厂模式的过渡。

抽象工厂模式:提供一个创建一系列相关或想相互依赖对象的接口而无需制定它们具体的类。与方法工厂模式非常的相似,只不过方法工厂模式只是限于一个产品族,而抽象工厂方法模式涉及到多个产品族。

        举例:工厂方法模式:有两家公司同时生产轿车,在这里“轿车”就是“抽象产品类”,具体的产品就是“现在,丰田”。工厂抽象接口就是“公司”,具体的工厂就是“现在汽车集团,丰田汽车公司”。代码结构:

         bubuko.com,布布扣

              代码显示:        

    //轿车类
    public class Car
    {
        public virtual void Show()
        {
            Console.WriteLine(" ");
        }
   //具体轿车类
    class XiandaiCar:Car
    {
        public override void Show()
        {
            Console.WriteLine("在现在汽车集团制造现代牌轿车 ");
        }
}
class FengtianCar : Car
    {
        public override void Show()
        {
            Console.WriteLine("在丰田汽车公司制造丰田牌轿车 ");
        }
}



 

    //公司接口
    interface Company
    {
        Car CreateCar();
}


 

    //公司接口
    interface Company
    {
        Car CreateCar();
}


 

    //公司接口
    interface Company
    {
        Car CreateCar();
}
    //现代汽车公司工厂
    class XiandaiCompanyFactory:Company
    {
        public Car CreateCar()
        {
            return new XiandaiCar();
        }
}
 //丰田汽车公司工厂
    class FengtianCompanyFactory:Company
    {
        public Car CreateCar()
        {
             return new FengtianCar();
        }
    }


 

    //公司接口
    interface Company
    {
        Car CreateCar();
}
    //现代汽车公司工厂
    class XiandaiCompanyFactory:Company
    {
        public Car CreateCar()
        {
            return new XiandaiCar();
        }
}
 //丰田汽车公司工厂
    class FengtianCompanyFactory:Company
    {
        public Car CreateCar()
        {
             return new FengtianCar();
        }
    }


 

    //公司接口
    interface Company
    {
        Car CreateCar();
}
    //现代汽车公司工厂
    class XiandaiCompanyFactory:Company
    {
        public Car CreateCar()
        {
            return new XiandaiCar();
        }
}
 //丰田汽车公司工厂
    class FengtianCompanyFactory:Company
    {
        public Car CreateCar()
        {
             return new FengtianCar();
        }
    }


 

 

抽象工厂模式,布布扣,bubuko.com

抽象工厂模式

原文:http://blog.csdn.net/u010539352/article/details/21972551

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!