博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转--简单工厂模式 Simple Factory
阅读量:5225 次
发布时间:2019-06-14

本文共 1401 字,大约阅读时间需要 4 分钟。

简单工厂模式的作用就是定义一个用于创建对象的接口

在简单工厂模式中,一个工厂类处于对产品类实例化调用的中心位置上,它决定那一个产品类应当被实例化。

        先来看看它的组成:
         1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。
         2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。
         3) 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。

首先定义一个接口

/** * @author ieasy360_1 * 定义一个接口 */public interface Sender{        public void send();}

创建类实现Sender接口

public class Qq implements Sender{    @Override    public void send() {        // TODO Auto-generated method stu        System.out.println("this is qq send!");     }}
public class Weixin implements Sender {    @Override    public void send() {        // TODO Auto-generated method stub        System.out.println("this is Weixin send!");     }}

创建一个工厂类

/** * @author ieasy360_1 * 工厂类 */public class SenderFactory {    public Sender sendproduce(String type)    {        if(type.equals("qq"))        {            return new Qq();        }        else if(type.equals("wx"))        {            return new Weixin();        }        else        {            return null;        }    }}

具体用法

/** * @author ieasy360_1 * */public class Test1 {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        SenderFactory factory = new SenderFactory();        Sender sender = factory.sendproduce("qq");        sender.send();    }}

运行得到的结果

this is qq send!

转载于:https://www.cnblogs.com/awkflf11/p/4370536.html

你可能感兴趣的文章
最适合程序员转行的10大职业
查看>>
空间分析开源库GEOS
查看>>
RQNOJ八月赛
查看>>
数据表设计
查看>>
alluxio
查看>>
关于ajax回调数据类型为Json,如何获得他的值
查看>>
前端各种mate积累
查看>>
css深度选择器
查看>>
jQuery 1.7 发布了
查看>>
Python(软件目录结构规范)
查看>>
Windows多线程入门のCreateThread与_beginthreadex本质区别(转)
查看>>
Nginx配置文件(nginx.conf)配置详解1
查看>>
linux php编译安装
查看>>
Ext Gantt Web甘特图--高级应用
查看>>
name phone email正则表达式
查看>>
721. Accounts Merge
查看>>
一个体验好的Windows 任务栏缩略图开发心得
查看>>
电商购物车产品在做什么?
查看>>
python数据类型之字典类型
查看>>
Python之Split函数
查看>>