1.前言

 什么是工厂模式?

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

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

2.总结

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

3.操作

(1)目录结构

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

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

(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();
} }

(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(); } }

(6)启动,打印结果

最新文章

  1. java selenium针对多种情况的多窗口切换
  2. C#之Lock
  3. 调试python程序
  4. 【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo
  5. nodejs 相关
  6. 英语语法 It all started the summer before second grade when our moving van pulled into her neighborhood
  7. 对于JAVA课程的期望
  8. cocos基础教程(13)使用Physicals代替Box2D和chipmunk
  9. 161021、spring异步调用,完美解决!
  10. 浅谈mysql mvcc
  11. input、select等表单元素的对齐问题
  12. Android NetWorkUtil
  13. window 7 C盘整理
  14. chrome 打不开网页
  15. Qt 释放新建窗口资源
  16. WordPress的用户系统总结
  17. php上线教程----阿里云下设值二级域名并将项目上线
  18. Linux查看系统信息的命令及已安装软件包的命令
  19. ssh-copy-id 拷贝用户秘钥
  20. cookie和session的个人理解

热门文章

  1. 莫烦python教程学习笔记——利用交叉验证计算模型得分、选择模型参数
  2. 车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践
  3. python解释器安装指导教程
  4. Python语法之基本数据类型
  5. Python pyecharts绘制水球图
  6. java 8 启动脚本优化 2
  7. 音视频中的PTS和DTS及同步
  8. 移动端点击a标签拨打电话、发送短信
  9. c++ 设计模式概述之策略
  10. Visual Studio之__cplusplus版本