简单工厂

概念

工厂模式的概念:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。

工厂模式有3种,分别是简单工厂模式,工厂模式和抽象工厂模式。

这里只是介绍了一下简单工厂。

自己的理解

        工厂模式是一种思维模式,简单来说就是一个现实中你开车一样,你不需要知道车的原理,只需要知道它可以跑就行。简单工厂模式就是只可以创建一个种产品,抽象工厂可以创建多种产品。

示例

客户去调用工厂,然后工厂去调用具体需要的产品

static void Main(string[] args)

        {

            //这是客户类

            Che food;

            Factory s = new Factory();

            Console.WriteLine("我要的是奥迪车");

            food = s.Getche("aodi");

            food.GetYourChe();

            Console.ReadKey();

    }

//这是一个抽象的产品:车

    public interface Che

    {

        void GetYourChe();

    }

    //这是一个具体的产品:奥迪车

    public class aodi:Che

    {

        public void GetYourChe()

        {

            Console.WriteLine("奥迪车");

        }

    }

    //这是一个具体的产品:大众车

    public class daz : Che

    {

        public void GetYourChe()

        {

            Console.WriteLine("大众车");

        }

    }

    //这个是一个工厂

    public class Factory

    {

        public Che Getche(string s)

        {

            switch(s)

            {

                case"aodi":return new aodi();

                case"dazhong": return new daz();

                default:throw new Exception("还没有你要的车");

            }

        }

    }

理解不是特别的多只是去做一下笔记,希望能帮到大家一点。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简单工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。简单工厂模式允许客户端通过传递类型参数来请求创建不同类型的对象,而无需知道实际创建的对象类的具体实现细节。 对于咖啡店而言,简单工厂模式可以用来创建不同种类的咖啡。例如,简单工厂模式可以创建美式咖啡、拿铁咖啡、卡布奇诺等等。简单工厂模式通常由一个工厂类来实现,它负责根据客户端请求的不同种类来创建相应的咖啡对象。 下面是一个简单工厂模式创建咖啡的示例代码: ``` // 定义咖啡接口 interface Coffee { void makeCoffee(); } // 实现美式咖啡 class AmericanCoffee implements Coffee { @Override public void makeCoffee() { System.out.println("制作美式咖啡..."); } } // 实现拿铁咖啡 class LatteCoffee implements Coffee { @Override public void makeCoffee() { System.out.println("制作拿铁咖啡..."); } } // 实现卡布奇诺咖啡 class CappuccinoCoffee implements Coffee { @Override public void makeCoffee() { System.out.println("制作卡布奇诺咖啡..."); } } // 定义咖啡工厂类 class CoffeeFactory { public static Coffee createCoffee(String type) { switch (type) { case "American": return new AmericanCoffee(); case "Latte": return new LatteCoffee(); case "Cappuccino": return new CappuccinoCoffee(); default: throw new IllegalArgumentException("Unsupported coffee type: " + type); } } } // 客户端代码 public class Client { public static void main(String[] args) { Coffee american = CoffeeFactory.createCoffee("American"); american.makeCoffee(); Coffee latte = CoffeeFactory.createCoffee("Latte"); latte.makeCoffee(); Coffee cappuccino = CoffeeFactory.createCoffee("Cappuccino"); cappuccino.makeCoffee(); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值