我是靠谱客的博主 光亮蛋挞,最近开发中收集的这篇文章主要介绍设计模式——工厂模式工厂模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

工厂模式

在《Head First 设计模式》一书中,一共介绍了一种类似于工厂模式的编程习惯、两种工厂模式,在这篇文章中,我将对它们分别进行介绍,下面首先来看一下简单工厂。

1、简单工厂

按照惯例,我们应该先介绍一下简单工厂的定义,然后举例说明,这一次,我们不这样做,我们首先举例说明,然后再引出简单工厂的定义,后续两个工厂模式均按此方式进行叙述,从案例中理解模式的定义才能够更加印象深刻。

1.1、简单工厂案例

1.1.1、需求

假设我们经营一家比萨店,店中提供各种口味的比萨,例如芝士比萨、蛤蜊比萨、蔬菜比萨等等,根据顾客点的比萨类型的不同,店里会为顾客准备不同口味的比萨并为顾客打包装盒。现在我们需要写一套代码来描述顾客预定比萨的过程。

1.1.2、第一种实现方式

首先,我们来分析一下需求,需求是要能够写代码来描述顾客预定比萨的过程,也就是说比萨的准备、烘焙、切块、打包这几个过程都不能少,很自然的,我们想到写一个类来表示比萨,这个类中包含比萨的所有功能代码,而需求中也描述了比萨会有多种口味,所以我们可以定义一个接口Pizza来表示比萨,并定义多个Pizza的实现类来实现这个接口,下面是我们定义的Pizza接口及其实现类:

/**比萨接口*/
public interface Pizza {
   

    public void prepare();

    public void bake();

    public void cut();

    public void box();

}
/**芝士比萨*/
public class CheesePizza implements Pizza {
   

    @Override
    public void prepare() {
        System.out.println("开始准备芝士比萨");
    }

    @Override
    public void bake() {
        System.out.println("开始烘焙芝士比萨");
    }

    @Override
    public void cut() {
        System.out.println("开始将芝士比萨分块");
    }

    @Override
    public void box() {
        System.out.println("开始打包芝士比萨");
    }

}
/**蛤蜊比萨*/
public class ClamPizza implements Pizza {
   

    @Override
    public void prepare() {
        System.out.println("开始准备蛤蜊比萨");
    }

    @Override
    public void bake() {
        System.out.println("开始烘焙蛤蜊比萨");
    }

    @Override
    public void cut() {
        System.out.println("开始将蛤蜊比萨分块");
    }

    @Override
    public void box() {
        System.out.println("开始打包蛤蜊比萨");
    }

}
/**蔬菜比萨*/
public class VeggiePizza implements Pizza {
   

    @Override
    public void prepare() {
        System.out.println("开始准备蔬菜比萨");
    }

    @Override
    public void bake() {
        System.out.println(

最后

以上就是光亮蛋挞为你收集整理的设计模式——工厂模式工厂模式的全部内容,希望文章能够帮你解决设计模式——工厂模式工厂模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部