工厂设计 java,java 工厂设计模式
一、简单工厂模式
简单工厂模式就是创建一个工厂类,对实现同一个接口的类进行实例化。其UML图如下:
package com.hs.pattern.factory;
public interface Sender {
public void send();
}
package com.hs.pattern.factory;
public class SmsSender implements Sender{
@Override
public void send() {
System.out.println("短信发送");
}
}
package com.hs.pattern.factory;
public class MailSender implements Sender {
@Override
public void send() {
System.out.println("邮件发送");
}
}
package com.hs.pattern.factory;
/**
* 简单工厂模式
* @author Administrator
*
*/
public class SimpleSenderFactory {
public static Sender produce( String sendType ){
if( ("sms").equals(sendType) ){
return new SmsSender();
}else if ( ("mail").equals(sendType) ) {
return new MailSender();
}
return null;
}
}
二、工厂方法模式
在工厂方法模式中,定义了一个用于创建对象的工厂接口,并根据工厂接口的实现类来确定要实现哪个产品。首先来看一下UML图:
工厂方法由四部分构成:
产品接口(Sender):用来定义产品的功能,工厂生产的所有产品对象都要实现该接口,调用者一般跟产品接口打交道。
具体产品类(SmeSender、MailSender):实现了产品接口的类,是产品的具体实现细节。
工厂接口(Factory):工厂接口是工厂方法模式的核心接口,调用者直接与工厂接口交互,用于获取具体的产品实现类。
具体工厂类(SmsFactory、MailFactory):具体工厂类是工厂接口的实现类,用来实例化产品对象,不同的具体工厂类会根据需求实例化不同的产品实现类。
package com.hs.pattern.factory;
public interface Factory {
public Sender produce();
}
package com.hs.pattern.factory;
public class SmsFactory implements Factory {
@Override
public Sender produce() {
return new SmsSender();
}
}
package com.hs.pattern.factory;
public class MailFactory implements Factory {
@Override
public Sender produce() {
return new MailSender();
}
}
工厂设计 java,java 工厂设计模式相关推荐
- 设计模式--抽象工厂设计
抽象工厂:工厂设计的升级版 工厂设计每次只能只要一个产品对象,抽象工厂可以每次创建一个族的对象 四个角色: 抽象工厂 对象等级: 手机 平板 电脑 对象族:苹果手机 苹果平板 苹果电脑 package ...
- 《机械制造业智能工厂规划设计》——2.1 智能工厂设计流程
2.1 智能工厂设计流程 智能工厂的设计流程如图2.1所示. 1.智能工厂设计的总输入是企业的发展战略 大家知道企业发展战略是对企业长远发展的全局性谋划.它是由企业的愿景.使命.政策环境.长期和短期目 ...
- 第六周 Java语法总结_设计原则_工厂模式_单例模式_代理模式(静态代理_动态代理)_递归_IO流_网络编程(UDP_TCP)_反射_数据库
文章目录 20.设计原则 1.工厂模式 2.单例模式 1)饿汉式 2)懒汉式 3.Runtime类 4.代理模式 1)静态代理 2)动态代理 动态代理模板 21.递归 22.IO流 1.File 2. ...
- Java设计模式之 工厂模式(简单工厂模式)
前一阵子学习了Java 中据说是最简单的设计模式的 单例模式,想一起讨论学习的小伙伴请点击这里: Java 设计模式之单例模式 那么今天就把学习的工厂模式记录下来 工厂模式: 实现了创建者和调用者的分 ...
- JAVA设计模式——工厂模式【简单工厂模式、工厂方法模式、抽象工厂模式】
目录 简单工厂模式 传统方式 简单工厂模式 静态工厂模式 工厂方法模式 抽象工厂模式 工厂模式JDK-Calendar源码分析 工厂模式小结 简单工厂模式 看一个具体的需求 看一个披萨的项目:要便 ...
- 【Java提升】设计模式入门教程 工厂模式
工厂模式是平时开发过程中最常见的设计模式.工厂模式解决类的实例化问题,它属于创建型模式.工厂模式也经常会和其他设计模式组合使用. 试想你去麦当劳买一个汉堡.你只需要告诉收银员要一个xx汉堡.过一会就会 ...
- 设计模式之简单工厂模式(Java 实现)
设计模式之简单工厂模式(Java 实现) 本文首发于http://www.imooc.com/wiki/Designlesson/factory.html 简单工厂模式是平时开发过程中最常见的设计模式 ...
- 浅谈工厂设计--java必备技能
浅谈工厂设计–java必备技能 说到工厂,我就联想到了亚洲的大工厂富士康–接过订单然后按照固定的模板生产商品,其实java中工厂类中的工厂方法也是一样,接过参数,根据参数来生产需要的商品: 今天我们一 ...
- 设计模式—抽象工厂模式(java实现示例)
一.相关定义 抽象工厂: 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂的工厂.这种类型的设计模式属于创建型模式,它提供了一种 ...
最新文章
- linux ubuntu安装 mono,在Ubuntu 18.04系统中安装Mono及基本使用Mono的方法
- Bootstrap 手风琴搭配导航条实现常用菜单栏
- Apache常用配置项
- Unity中UGUI之Canvas属性解读版本二
- gmail收件箱标签设置_通过在Gmail中启用实验室功能来启动收件箱
- 在ASP.NET Core中使用EPPlus导入出Excel文件
- java工程引入scala_引入ReactiveInflux:用于Scala和Java的无阻塞InfluxDB驱动程序,支持Apache Spark...
- 计算机显示文本自定义130%,实训课题目
- Mysql 零距离-入门(六)数据唯一约束性
- appbarlayout 折叠后 不允许滑动_还在纠结要不要建阳光房?看看可折叠阳光房,或许你就能做选择了...
- libpcap 库使用(二)
- 导盲机器人 英语作文_小米有品推学习平板:小爱AI陪娃学英语,一台陪娃十年成长...
- paip.银联支付接口订单号uuid算法
- threejs基于vue加载模型,让模型开启自动旋转 模型位置改变
- cad和html5哪个好,最好用的5个CAD软件 你用的是哪款呢
- 如何防止form表单的重复提交
- 记录前端导出word 本地图片不显示问题
- 小米手机拦截返回音设置不了_为了让自己的手机更好用,我利用了MIUI 10的这些功能...
- JavaWeb个人博客项目:手把手教你实现博客后台系统之界面图展示1
- 考一个华为认证HCIP需要学习那些东西?