您的位置:首页 > 编程语言 > Java开发

java设计模式——抽象工厂模式

2017-05-02 00:00 369 查看
抽象工厂模式(Abstract Factory):抽象工厂--顾名思义,就是把工厂抽象出来,不同的工厂生产不同的产品。这样做有个好处:一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。

一、uml建模图



二、代码实现

[java] view plain copy

/**

* 示例:抽象工厂--顾名思义,就是把工厂抽象出来,不同的工厂生产不同的产品

*

* 优点:一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码

*/

interface Sender {

public void send();

}

class EmailSender implements Sender {

@Override

public void send() {

System.out.println("this is a email...");

}

}

class SmsSender implements Sender {

@Override

public void send() {

System.out.println("this is a sms...");

}

}

/**

* 角色:抽象工厂

*/

interface AbstractFactory {

public Sender produce();

}

/**

* 邮件工厂

*/

class EmailSendFactory implements AbstractFactory {

@Override

public Sender produce() {

return new EmailSender(); &
3ff0
nbsp;

}

}

/**

* 短信工厂

*/

class SmsSendFactory implements AbstractFactory {

@Override

public Sender produce() {

return new SmsSender();

}

}

/**

* 客户端测试类

*

* @author Leo

*/

public class Test {

public static void main(String[] args) {

/**

* 创建工厂

*/

AbstractFactory factory = new SmsSendFactory();

/**

* 生产产品

*/

Sender sender = factory.produce();

/**

* 执行业务逻辑

*/

sender.send();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: