美文网首页纯文学
以兰州拉面为例-白话Java抽象工厂模式

以兰州拉面为例-白话Java抽象工厂模式

作者: 青城楼主 | 来源:发表于2017-03-27 11:31 被阅读46次

    上一篇我以烧烤为例,介绍Java普通工厂模式,现在我们以兰州拉面为例介绍抽象工厂模式。

    首先角色转变下,想象自己是一个准备开兰州拉面馆,注意兰州拉面馆是个牌子哦,我等于开分店一样,好的,我们把开兰州拉面分店这个抽象出来,他相当于一个营业执照,执照上面经营范围是兰州拉面

    package com;

    //兰州拉面,它是一个牌子,可以开分店,这个接口是开一家兰州拉面的分店

    public interface Lanzhoulamianshop {

    //分店提供拉面

    public Lanzhoulamianprovide getlamian();

    }

    分店最主要的功能,也是拉面老板最主要做的事情就是提供拉面

    package com;

    //生产兰州拉面接口,功能就是做兰州拉面

    public interface Lanzhoulamianprovide {

    public void providelamian();

    }

    现在我们开始开一家拉面馆,这家拉面馆指定为兰州拉面馆,他要实现开分店的接口,就是说我要相关营业执照,执照上面经营范围是 兰州拉面

    package com;

    //拉面店

    public class Lamianshop implements Lanzhoulamianshop{

    public Lamianshop(){}

    public Lamianshop(String addr){

    System.out.println("这是一家位于"+addr+"的拉面馆");

    }

    @Override

    public Lanzhoulamianprovide getlamian() {

    // TODO Auto-generated method stub

    return new LamianImp();

    }

    }

    完事具备,就差具体做拉面的实现了,上代码

    package com;

    public class LamianImp implements Lanzhoulamianprovide{

    @Override

    public void providelamian() {

    // TODO Auto-generated method stub

    System.out.println("做了一碗正宗的兰州拉面!");

    }

    }

    吃货上场,开始叫外面

    package com;

    public class Ts {

    public static void main(String[] args) {

    //1,找到西兴的拉面馆

    Lanzhoulamianshop lshop=new Lamianshop("西兴");

    //2,下单

    System.out.println("找到了,下单");

    // 3,拉面馆做拉面

    Lanzhoulamianprovide lp=lshop.getlamian();

    lp.providelamian();

    }

    }

    以兰州拉面为例-白话Java抽象工厂模式

    相关文章

      网友评论

        本文标题:以兰州拉面为例-白话Java抽象工厂模式

        本文链接:https://www.haomeiwen.com/subject/qizlottx.html