设计模式-工厂模式

目录

工厂模式

使用工厂模式的优点

Java中的工厂模式示例

总结


工厂模式

使用工厂模式的优点

理解:比如代码中创建了很多个对象,如果没有使用工厂模式,当创建对象的方式发生改变,比如 new Student()变为new Student(18,"男"),就需要将程序中所有创建对象的代码一个个更改,但如果使用工厂模式,只需要在工厂中修改创建对象的方式即可。

Java中的工厂模式示例

Drink.java

package com.example.factory;

public interface Drink {
    void prepare();
}

Coffee.java

package com.example.factory;

public class Coffee implements Drink {
    @Override
    public void prepare() {
        System.out.println("Preparing Coffee...");
    }
}

Tea.java

package com.example.factory;

public class Tea implements Drink {
    @Override
    public void prepare() {
        System.out.println("Preparing Tea...");
    }
}

DrinkFactory.java

package com.example.factory;

public class DrinkFactory {
    public static Drink createDrink(String type) {
        if (type.equalsIgnoreCase("coffee")) {
            return new Coffee();
        } else if (type.equalsIgnoreCase("tea")) {
            return new Tea();
        }
        return null;
    }
}

Main.java

package com.example.factory;

public class Main {
    public static void main(String[] args) {
        Drink coffee = DrinkFactory.createDrink("coffee");
        coffee.prepare();

        Drink tea = DrinkFactory.createDrink("tea");
        tea.prepare();
    }
}
  • 接口 Drink:定义了 prepare() 方法,这是所有饮料的通用行为。
  • 具体实现类 CoffeeTea:实现了 Drink 接口,定义了各自的 prepare() 方法。
  • 工厂类 DrinkFactory:通过 createDrink 方法,根据输入类型创建对应的饮料对象,而不是直接实例化具体类。这种方式隐藏了对象创建的细节。
  • 客户端代码:使用 DrinkFactory 来获取具体的对象,而无需知道对象的创建逻辑。

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值