美文网首页Java 杂谈
设计模式二、创建型模式-简单工厂模式

设计模式二、创建型模式-简单工厂模式

作者: Alisallon | 来源:发表于2019-05-12 14:24 被阅读0次

系列传送门

创建型模式
这一类模式用于创建对象。
隐藏或抽象创建对象的细节,而不是使用 new直接创建对象。

设计模式一、创建型模式-单例模式
设计模式二、创建型模式-简单工厂模式
设计模式三、创建型模式-工厂模式
设计模式四、创建型模式-抽象工厂模式
设计模式五、创建型模式-建造者模式

简单/静态工厂模式

该模式的核心是“隐藏对象创建的细节”,静态方法只是一种实现方式。
可以扩展该模式,成为一个可以创建对象,为对象建立依赖关系,以及管理对象生命周期的轻量级组件。

定义邮件对象

/**
 * 邮件对象
 */
class EmailInfo {
    // 发送者
    private String from;
    // 接受者
    private String to;
    // 标题
    private String subject;
    // 内容
    private String content;
    // 发送时间
    private Date sendDate;

    // TODO Getter and setter
}

定义邮件工厂

/**
 * 邮件工厂
 * <p>
 * 对外只提供一个生成邮件信息的方法,方法内封装了生成邮件信息的细节
 */
public class EmailFactory {
    /**
     * 生成邮件信息,封装了生成邮件信息的细节(简单/静态工厂模式)
     *
     * @param from    发送者
     * @param to      接受者
     * @param subject 标题
     * @param content 内容
     * @return EmailInfo 邮件信息
     */
    public static EmailInfo createEmail(String from, String to, String subject, String content) {
        EmailInfo emailInfo = new EmailInfo();
        emailInfo.setFrom(from);
        emailInfo.setTo(to);
        emailInfo.setSubject(subject);
        emailInfo.setContent(content);
        emailInfo.setSendDate(new Date());
        return emailInfo;
    }
}

测试

public class Main {
    public static void main(String[] args) {
        // 创建邮件1
        EmailInfo emailInfo1 = EmailFactory.createEmail("allon", "alisallon", "测试1", "这是一个测试1");
        // 发送邮件1
        sendEmail(emailInfo1);

        // 创建邮件2
        EmailInfo emailInfo2 = EmailFactory.createEmail("allon", "alisallon", "测试2", "这是一个测试2");
        // 发送邮件2
        sendEmail(emailInfo2);
    }

    private static void sendEmail(EmailInfo emailInfo) {
        // TODO 发送邮件
    }
}

相关文章

  • 简单工厂模式

    Android进阶之设计模式 简单工厂模式 简单工厂模式(又叫作静态工厂方法模式), 其属于创建型设计模式,但并不...

  • android常用设计模式

    26种设计模式 创建型设计模式[5] 单例模式,工厂模式,抽象工厂模式,建造模式,原型模式,[简单工厂模式] 结构...

  • 工厂模式-简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式 工厂模式是一种比较常见的创建型设计模式,分为简单工厂模式、工厂方法模式、抽象工厂模式 工厂模式旨在把对象...

  • 设计模式小结

    设计模式 7 大原则 创建型 单例模式 原型模式 创建者模式(生成器模式) 简单工厂模式 工厂方法模式 抽象工厂模...

  • Android设计模式-模版方法模式

    UML关系简单介绍UML简单使用的介绍创建型设计模式Android设计模式-单例模式Android设计模式-工厂模...

  • Android设计模式-迭代器模式

    UML关系简单介绍UML简单使用的介绍创建型设计模式Android设计模式-单例模式Android设计模式-工厂模...

  • Android设计模式-享元模式

    UML关系简单介绍UML简单使用的介绍创建型设计模式Android设计模式-单例模式Android设计模式-工厂模...

  • Android设计模式-桥接模式

    UML关系简单介绍UML简单使用的介绍创建型设计模式Android设计模式-单例模式Android设计模式-工厂模...

  • Android设计模式-命令模式

    UML关系简单介绍UML简单使用的介绍创建型设计模式Android设计模式-单例模式Android设计模式-工厂模...

  • Android设计模式-责任链模式

    UML关系简单介绍UML简单使用的介绍创建型设计模式Android设计模式-单例模式Android设计模式-工厂模...

网友评论

    本文标题:设计模式二、创建型模式-简单工厂模式

    本文链接:https://www.haomeiwen.com/subject/rajcaqtx.html