欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式---简单工厂模式(通俗易懂)

程序员文章站 2022-03-09 21:36:39
...

工厂模式

字面理解就是我们要什么,工厂就给我们生产什么!就是这么Easy!

1. 我们需要一个商品的接口,商品可以干嘛呢,就是制造对吧!我们生产(衣服,鞋子,裤子为例)

Dome

1.1.商品接口

package com.example.demo.DesginMode.工厂模式;

/**
 * @Author: zengwei
 * @Date: 2019/6/15 15:49
 * @Version 1.0
 */
public interface Good {
    //商品生产
    void make();
}

1.2.衣服类

package com.example.demo.DesginMode.工厂模式;

/**
 * @Author: zengwei
 * @Date: 2019/6/15 15:56
 * @Version 1.0
 */
public class Clothes implements Good {
    @Override
    public void make() {
        System.out.println("生产衣服!");
    }
}


1.3.裤子类

package com.example.demo.DesginMode.工厂模式;

/**
 * @Author: zengwei
 * @Date: 2019/6/15 15:55
 * @Version 1.0
 */
public class Pants implements Good{
    @Override
    public void make() {
        System.out.println("生产裤子!");
    }
}

1.4.鞋子类

package com.example.demo.DesginMode.工厂模式;

/**
 * @Author: zengwei
 * @Date: 2019/6/15 15:54
 * @Version 1.0
 */
public class Shoes implements Good {
    @Override
    public void make() {
        System.out.println("生产鞋子!");
    }
}

1.5.我们需要的工厂类

package com.example.demo.DesginMode.工厂模式;

/**
 * @Author: zengwei
 * @Date: 2019/6/15 15:58
 * @Version 1.0
 */
public class GoodFactory {
    //生产对应的商品
    public GoodFactory(Good good) {
        good.make();
    }

}

1.6.测试类

package com.example.demo.DesginMode.工厂模式;

/**
 * @Author: zengwei
 * @Date: 2019/6/15 16:01
 * @Version 1.0
 */
public class Test {

    public static void main(String[] args) {
        GoodFactory goodFactory;
        //生产鞋子
        goodFactory = new GoodFactory(new Shoes());
        //生产裤子
        goodFactory = new GoodFactory(new Pants());
        //生产裤子
        goodFactory = new GoodFactory(new Clothes());
    }
}

1.7.运行结果

生产鞋子!
生产裤子!
生产衣服!
Process finished with exit code 0