简单工厂模式(详细)(举例饮料)

饮料案例:

饮料类(父类):


    public class Drink
    {
        //虚方法
        public virtual void Driking() {
        }
    }

可乐类(继承父类饮料类)


    public class Cola:Drink
    {
        //重写父类的Driking()方法
        public override void Driking()
        {
            Console.WriteLine("Cola");
        }
    }

雪碧类(继承父类饮料类)


    public class Sprite:Drink
    {
        //重写父类的Driking()方法
        public override void Driking()
        {
            Console.WriteLine("Sprite");
        }
    }

饮料工厂类(factory)


    class DrinkFactory
    {
        public static Drink Init(string type) {
            Drink drink = null;
            switch(type){
                case "可乐":
                    drink = new Cola();
                    break;
                case "雪碧":
                    drink = new Sprite();
                    break;
            }
            return drink;
        }
    }

Main方法

class Program     {      

   static void Main(string[] args)         {       

      Console.WriteLine("请输入你要喝的饮料");        

     string type=Console.ReadLine();        

     Drink drink=DrinkFactory.Init(type);      

       drink.Driking();

     Console.ReadKey();      

   }    

}

时间: 2024-10-12 12:51:43

简单工厂模式(详细)(举例饮料)的相关文章

java设计模式 -------- 创建模式 之 简单工厂模式

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 工厂模式是最常用的模式,因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a = new A(),工厂模式也是用来创建用来创建实例对象的,所以以后new时要多个心眼,是否可以考虑使用工厂模式. 简单工厂模式又可以分成三种模式: 1) 普通简单工厂模式 2) 多方法简单工厂模式 3) 多静态方法简单工厂模式 普通简单工厂模式: 举例:(简单的

简单工厂模式与工厂方法模式详细解读

转:http://blog.csdn.net/zhengzhb/article/details/7348707 ———————————————————————————————————— 1.前言 设计模式,各具特色,今天在此总结一下常见模式中 简单工厂模式与工厂方法模式的区别与联系 2.两种模式概要 1. 简单工厂模式  对于简单工厂模式的介绍,请参考我的另外一篇博客  代码无错就是优?----简单工厂模式 2. 工厂方法模式 工厂方法模式又称工厂模式,也叫虚拟构造器模式属于类的创建型模式 在工

完整案例分析再加知识整合——艾特简单工厂模式,超详细的

简单工厂模式 一.模式动机与定义 模式动机 只需要知道水果的名字即可得到相应的水果 模式定义 简单工厂模式(Simple Factory Pattern):又称为静态工厂方法模式,它属于类创建型模式. 在简单工厂模式中,可以根据参数的不同返回不同类的实例. 简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 二.模式结构与分析 模式结构 简单工厂模式包含如下角色: Factory:工厂角色 Product:抽象产品角色 ConcreteProduct:具体产品角

设计模式之简单工厂模式

设计模式之简单工厂模式 动机:         不暴露实例化逻辑来创建对象.通过公共的接口创建新的对象.         这是一个简单的实现,客户端需要一个product,但是client不直接使用new对象,而是通过提供需要的对象信息来找factory得到新的product.         这个factory实例化一个具体的product并返回(转化成抽象的类),client段使用这个抽象的类而不用考虑它具体的实现. 应用举例:        也许工厂模式是使用最多的模式之一.举个例子,一个

Javascript设计模式理论与实战:简单工厂模式

通常我们创建对象最常规的方法就是使用new关键字调用构造函数,这会导致对象之间的依赖性.工厂模式是一种有助于消除类之间依赖性的设计模式,它使用一个方法来决定要实例化哪一个类.本文详细介绍了简单工厂模式的理论,并且举例说明了简单工厂模式的具体应用. 基本介绍 简单工厂模式是工厂模式中最基本的一种.通过定义一个工厂类,根据参数实例化具体的某个产品类. 举例说明 我们举个例子进行说明:假设我们开发一个旅游行业网站,网站上面销售机票,酒店等产品.一个用户准备购买一张机票.我们可以定义相关类如下: 1 v

设计模式(四)简单工厂模式

相关文章 设计模式(一)设计六大原则 设计模式(二)单例模式的七种写法 设计模式(三)建造者模式 1.简单工厂模式简单介绍 定义 简单工厂模式属于创建型模式又叫做静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类的实例. 简单工厂模式结构图 Factory:工厂类,简单工厂模式的核心.它负责实现创建全部实例的内部逻辑.工厂类的创建产品类的方法能够被外界直接调用.创建所需的产品对象. IProduct:抽象产品类.简单工厂模式所创建的全部对象的父类,它负责描写叙述全部实例所共同拥有的公共接口

设计模式之_简单工厂模式、工厂方法模式、抽象工厂模式 、策略模式、策略与工厂的区别(转)

一.前言 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰).Bmw(宝马).Audi(奥迪)),还雇了司机为他开车.不过,爆发户坐车时总是这样:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上 Audi后他说“开奥迪车!”.你一定说:这人有病!直接说开车不就行了?!而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过这种方式来坐车的 幸运的是这种有病的现象在OO语言中可以避免了.下面以Java语言为基础来引入我们本文的主题:工厂模式! 二.简介

简单工厂模式 工厂模式 抽象工厂模式

其实这个三个C++的设计模式已经学习很长时间了,今晚才想起来要写这三个设计模式,为什么要用C++中的设计模式呢?for example,你已经会开车了,正着开,倒着开,转弯,这些都是开车基本的,但是你并没有很高的车技,并不会炫酷.漂移,就好像C++中的设计模式一样,在你学好C++的基础上,娴熟的应用出的新技能,能让你的车开的更好. 为什么要用简单工厂模式,记得上一次,我虽然敲完了代码,但是当别人突然问一句,你为什么要用简单工厂模式,我突然就愣住了,代码很简单,一看就懂了.重要的还是思想.专门定义

设计模式学习-简单工厂模式

1.什么是简单工厂模式 简单工厂模式属于类的创建模式,又叫做静态工厂模式,是通过专门建立一个类负责创建其他类的实例,被创建的类通常有着共同的父类,之所以称之为工厂,就是因为负责创建其他类的类能够根据传递参数的不同,产生不同的实例,使得程序满足松耦合.重用度高.易修改维护的特点. 2.简单工厂模式的实现 下面举例说明工厂模式,比如说我们要实现一个两个数的size运算,那么如何去设计能过做到我们上面说的特性.首先我们要设定一个运算的终极父类: #include <iostream> #includ

设计模式学习第三天:2.1简单工厂模式

一. 简单工厂(Simple Factory)模式      Simple Factory模式根据提供给它的数据,返回几个可能类中的一个类的实例.通常它返回的类都有一个公共的父类和公共的方法.      Simple Factory模式实际上不是GoF 23个设计模式中的一员. 二. Simple Factory模式角色与结构: 工厂类角色Creator (LightSimpleFactory):工厂类在客户端的直接控制下(Create方法)创建产品对象.      抽象产品角色Product