设计模式--工厂模式

工厂模式

工厂模式(Factory Pattern)是一种普遍使用的设计模式,属于创建型模式。它提供了一种创建对象的最佳方法。

介绍

目的:创建对象通过子类来实现,解决了接口选择的问题。
实例:1.日志工厂类。2.线程工程类。
缺点:如果对于简单对象的创建,运用工厂模式创建相对复杂。每次添加新的部件的时候,会使项目文件变多。

实现

两张面皮加一些配菜就能组成一个汉堡,然而汉堡的种类很多。分成不同风味的汉堡包。我们现在做的是就像去点单一样,向汉堡包工厂挑选自己喜欢的汉堡,工厂就会返回我们一个汉堡包。

UML图例

在这里插入图片描述

具体实现

接口Hamburg:

public interface Hamburg {
    
    void taste();
}

具体的实现类
FishHamburg:

public class FishHamburg implements Hamburg {

    @Override
    public void taste() {
        System.out.println("Taste like fish");
    }
}

BeefHamburg:

public class BeefHamburg implements Hamburg {

    @Override
    public void taste() {
        System.out.println("Taste like beef");
    }
}

工厂类:

public class HamburgFactory {
    
    public static Hamburg getOrder(String order) {
        if(null == order) {
            return null;
        }
        if(order.equals("FishHamburg")) {
            return new FishHamburg();
        }
        else if(order.equals("BeefHamburg")) {
            return new BeefHamburg();
        }
        return null;
    }
}

Demo:

public class FactoryDemo {

    public static void main(String[] args) {
        Hamburg fish = HamburgFactory.getOrder("FishHamburg");
        Hamburg beef = HamburgFactory.getOrder("BeefHamburg");
        fish.taste();
        beef.taste();
    }
}

Output
Taste like fish
Taste like beef

本文仅供学习记录之用,如有错误欢迎指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值