zoukankan      html  css  js  c++  java
  • 详谈 Java工厂 --- 静态工厂 【简单工厂模式】

    1.前言

     什么是工厂模式?

      就是为了尽可能将代码的耦合度降低而产生的设计模式。

      这篇随笔讲解静态工厂的思路和具体操作。

    2.总结

    (1)静态工厂又称 简单 工厂模式 ,是最最简单的工厂模式。
    (2)优点:将控制创建对象的控制器交给了工厂,同时工厂在创建对象时还可以做一些其他业务,并将其集成在一起,可复用性高。
    (3)缺点:耦合度太高了,一一对应,如果多起来会比意大利面条还乱。

    3.操作

     

    (1)目录结构

      (2)建一个食物接口【规定了允许对食物的操作方法】

    View Code

    (3)两个食物接口的实现类【分别是苹果和面条】

    View Code
    View Code

    (4)工厂类

    package com.example.javabaisc.factory.staticfactory.factory;
    
    import com.example.javabaisc.factory.staticfactory.origin.Apple;
    import com.example.javabaisc.factory.staticfactory.origin.Food;
    import com.example.javabaisc.factory.staticfactory.origin.Noodles;
    
    public class FoodFactory {
    
        //获取苹果
        public static Food getApple() {
            return new Apple();
        }
    
        //获取面条
        public static Food getNoodles() {
            return new Noodles();
        }
    
    
    }
    View Code

    (5)测试类

    package com.example.javabaisc.factory.staticfactory;
    
    import com.example.javabaisc.factory.staticfactory.factory.FoodFactory;
    import com.example.javabaisc.factory.staticfactory.origin.Food;
    import org.junit.jupiter.api.Test;
    
    public class StFTest {
        @Test
        public void t() {
    
            //从工厂获取苹果
            Food food = FoodFactory.getApple();
            food.getFood();
            //
            //从工厂获取面条
            Food food2 = FoodFactory.getNoodles();
            food2.getFood();
    
        }
    
    }
    View Code

    (6)启动,打印结果

  • 相关阅读:
    MyBatis学习之输入输出类型
    MyBatis学习之多表查询
    javascript学习之this
    Elasticsearch学习之Java操作1
    CSS学习之定位
    CSS学习之浮动
    CSS学习之盒子模型
    java学习之导出Excel
    转载:手把手教你做iOS推送
    拳头公司聊天服务架构:服务器篇
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/13150198.html
Copyright © 2011-2022 走看看