工厂设计模式:四个角色 抽象工厂 具体工厂 抽象产品 具体产品

优点:类的创建方法被封装 满足开闭原则

缺点 每增加一个具体产品都要新加一个工厂 会造成类爆炸

package com.qf.factorydemo.factory;/*** 工厂模式* 四个角色:抽象产品  具体产品   抽象工厂 具体工厂* <p>* 类对象的创建与创建过程分离 满足开闭原则 但是 会造成类爆炸*/
//抽象工厂
public interface  Factory {//抽象方法 去创造coffeeCoffee createCoffee();
}package com.qf.factorydemo.factory;//具体工厂
public class LSFactory implements Factory {@Overridepublic Coffee createCoffee() {return new LScoffee();}
}package com.qf.factorydemo.factory;/*** 抽象类 具体类去实现*/
public abstract class Coffee {//抽象方法public abstract String getName();//普通方法public void addMilk() {System.out.println("加奶");}public void addSugar() {System.out.println("加糖");}
}package com.qf.factorydemo.factory;
//具体实现类
public class LScoffee extends Coffee {@Overridepublic String getName() {return "蓝山咖啡制作";}
}package com.qf.factorydemo.factory;/*** 咖啡店 结合coffee工厂与coffee产品*/public class CoffeeStore {//声明factoryprivate Factory factory;//指明具体的工厂public void setFactory(Factory factory) {this.factory = factory;}//点咖啡功能public Coffee createCoffee() {Coffee coffee = factory.createCoffee();coffee.addMilk();coffee.addSugar();return coffee;}}

设计模式--工厂设计模式相关推荐

  1. 创建设计模式 - 工厂设计模式

    创建设计模式 - 工厂设计模式 欢迎到工厂设计模式在Java教程.Factory Pattern是Creational Design模式之一,它在JDK以及Spring和Struts等框架中得到广泛应 ...

  2. java二十三种设计模式——工厂设计模式

    java设计模式的分类 在java中,设计模式有三十三种之多,分为三大类: 创建性模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构性模式,共七种:适配器模式.装饰器模式 ...

  3. php设计模式-工厂设计模式

    概念: 工厂设计模式提供获取某个对象的新实例的一个接口,同时使调用代码避免确定实际实例化基类步骤. 很多高级模式都是依赖于工厂模式. 转载于:https://www.cnblogs.com/sjhss ...

  4. 嵌入式C设计模式---工厂设计模式

    更新记录链接:嵌入式C设计模式---前言_嵌入式学习_force的博客-CSDN博客_嵌入式前言 目录         1.工厂设计模式动漫详解         2.智慧温室大棚监控系统项目详解工厂应 ...

  5. 设计模式:工厂设计模式

    通过工厂设计模式可降低代码的耦合度.耦合度太高会导致代码不方便维护 就相当于A一直要与B绑定在一起.可以完全参考Java虚拟机的设计思想 程序→JVM→适应不同的操作系统(A->C->B) ...

  6. Java设计模式——工厂设计模式

    工厂设计模式 一.简介 都不知道简介要写什么,工厂模式嘛,就是工厂嘛,生产东西的嘛-- 在Java里面就是用来帮助我们生产对象的咯-- 主要作用嘛,大概就是将创建和使用对象拆分减低耦合度吧. 二.分类 ...

  7. java 生产设计模式_java设计模式-工厂设计模式

    工厂设计模式是创建型设计模式,有三种设计方法:简单工厂(产品父类),工厂模式(工厂父类),抽象工厂(父类接口) 一.简单工厂 简单工厂的设计思想是: 1.定义一个产品的父类 2.具体产品类继承父类 3 ...

  8. 设计模式—工厂设计模式

    工厂设计模式 1.概述 2.简单工厂模式 2.1 结构 2.2 实现 2.3 优缺点 2.4 扩展 3.工厂方法模式 3.1 概述 3.2 结构 3.3 实现 3.4 优缺点 4.抽象工厂模式 4.1 ...

  9. Java设计模式-工厂设计模式

    工厂设计模式概念 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式.著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见.因为工厂模式就相 ...

最新文章

  1. 数据在java中加时间,如何在Or.jFr.DATA时间中设置RealTimeMead时期的Java数据
  2. 通过http协议访问FTP服务器的搭建,ftp+nginx 图片服务器搭建之后使用http访问进行配置文件的修改
  3. 关于GPS的1PPS时间同步功能探索与测试
  4. python检测文件夹中新增文件_python检测文件夹变化,并拷贝有更新的文件到对应目录的方法...
  5. 信息学奥赛一本通(1403:素数对)
  6. 在Python3里有的变量前面有个*号,或许你不知道,没关系,看文
  7. pclint 与vs2010结合识别预处理器定义
  8. Ajax调用springboot接口,Springboot解决ajax+自定义headers的跨域请求问题.pdf
  9. MySQL中根据A表画更新B表
  10. freemarker mysql 生成bean_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.6.6版)...
  11. XP和win7的软件崩溃提示
  12. 智能优化算法:黑寡妇算法 -附代码
  13. 私藏的google浏览器插件
  14. matlab绘直方图,[转载]matlab中函数bar绘制直方图
  15. 计算机音乐因为我刚好遇见你,因为我刚好遇见你歌曲
  16. HC05蓝牙模块AT指令与手机蓝牙控制STM32板载LED
  17. Soul源码分析 ——值得借鉴的代码技巧
  18. js的常见的三种密码加密方式-MD5、Base64、sha1加密详解总结
  19. C++ 取json中的某一个值,解析json字符串
  20. 服务器信号满格但上不了网,新版tplink路由器wifi信号满格上不了网怎么办?

热门文章

  1. 如何能低成本地快速获取大量目标用户,而不是与竞争对手持久战?
  2. 不会数据驱动?还不快来看看,教你快速搭建数据驱动测试框架
  3. android pin快速解锁,[android]解锁更有趣更安全–TimePIN(时间解锁)
  4. 基于百度AI的文字识别(Python语言)
  5. Android项目:手机安全卫士(7)—— 手机防盗功能
  6. 内存/SSD价格暴涨!今年可能都不会降价?
  7. SpringSecurity图片验证码java
  8. 深度学习实例--服装识别
  9. element表格错位问题(表头和表格内容没有对齐)解决办法
  10. python测试抽奖脚本_使用 Python 写一个简易的抽奖程序