`

Java设计模式菜鸟系列(五)抽象工厂模式建模与实现

 
阅读更多

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39784403

 

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

 

一、uml建模图

 

二、代码实现

 

/**
 * 示例:抽象工厂--顾名思义,就是把工厂抽象出来,不同的工厂生产不同的产品
 * 
 * 优点:一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码
 */
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();
	}
}

/**
 * 短信工厂
 */
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();
	}

}

 

 

三、总结

 

如果你现在想增加一个功能:给特别关注的好友发信息,则只需做一个实现类,实现Sender接口,同时做一个工厂类,实现AbstractFactory接口,就可以了,无需修改现有代码。这样做拓展性较好!

 

分享到:
评论

相关推荐

    Java设计模式菜鸟系列教程

    本教程对Java 23种设计模式进行了总结,涵盖了策略模式、观察者模式、装饰者模式、工厂方法模式、抽象工厂模式、单例模式、命令模式、适配器模式、外观模式、模板方法模式、迭代器模式、组合模式、状态模式、代理...

    菜鸟教程设计模式之工厂模式代码整理

    在这个"菜鸟教程设计模式之工厂模式代码整理"中,我们将深入探讨工厂模式的基本概念、结构以及如何在实际编程中应用。 工厂模式的核心思想是通过一个专门的工厂类来创建对象,而不是让客户端代码直接实例化具体的...

    白话java23设计模式

    设计模式(Design pattern)是一套被反复使用、...本章系Java之美[从菜鸟到高手演变]系列之设计模式,我们会以理论与实践相结合的方式来进行本章的学习,希望广大程序爱好者,学好设计模式,做一个优秀的软件工程师!

    23种设计模式知识要点.pdf

    工厂模式在实现时应避免在具体产品中出现具体工厂的代码,抽象工厂模式则需要设计良好的产品族和产品等级结构,以保证系统的灵活性和可扩展性。 设计模式的学习和应用是面向对象编程中一个非常重要的方面,对于提高...

    设计模式学习经典篇之菜鸟篇

    - 桥接模式:将抽象部分与实现部分分离,使它们可以独立变化。 - 组合模式:允许你将对象组合成树形结构,表现得像单个对象。 - 外观模式:为复杂的子系统提供一个简单的接口。 - 代理模式:为其他对象提供一种...

    菜鸟教程设计模式之工厂模式代码整理(反射机制改进版)

    在这个“菜鸟教程设计模式之工厂模式代码整理(反射机制改进版)”中,我们主要探讨的是如何利用Java的反射机制来进一步增强工厂模式的功能。 首先,理解工厂模式的基本概念。工厂模式属于创建型设计模式,它提供了...

    Java设计模式(单例+工厂+策略模式)

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的模板或最佳实践。本主题将深入探讨三种关键的设计模式:单例模式、工厂模式和策略模式。 **单例模式** 是一种创建型设计模式,保证一个类...

    Java 23种设计模式全归纳.zip

    设计模式分为清晰类型,共23种创建型模式单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构类型模式队列模式、桥接模式、装饰模式、组合模式、外观模式、共享元模式、代理模式。行为类型模式模版方法...

    [网盘]java程序员由菜鸟到笨鸟.pdf

    - 单例模式、工厂模式、观察者模式等经典设计模式的讲解。 - 设计模式在实际项目中的应用实例分析。 5. **Spring框架**: - Spring框架的核心功能:DI(依赖注入)、AOP(面向切面编程)。 - Spring MVC的工作...

    23种设计模式知识要点.pdf_设计模式_

    - 抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 - 建造者模式将复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。 - 原型模式通过复制已有对象来创建...

    java常用设计模式集锦

    java常用的设计模式一个简单总结,如工厂模式、单例模式、代理模式等等。(楼主也是未入门的菜鸟,如有错误请及时联系楼主更正,谢谢!)

    JAVA 23种设计模式(Design Patterns)

    简单例子说明了java的23种设计模式的原理,方便大家进行程序开发,对于入门级选手(我也是初学者)有很大的帮助

    从Java菜鸟到专家的资料

    8. **JAVA设计模式.chm**:设计模式是软件工程中的重要概念,这本书详细介绍了23种经典设计模式,如单例模式、工厂模式、观察者模式等,对提升代码质量和可维护性有极大帮助。 9. **Oracle optimizer.chm**:可能...

    深入浅出设计模式(.PDF)

    创建型设计模式如单例模式、工厂方法模式、抽象工厂模式等,它们关注的是对象的创建过程,使得代码更加灵活,易于维护和扩展。结构型设计模式如适配器模式、桥接模式、装饰器模式、组合模式、外观模式、享元模式和...

    Java程序员由菜鸟到笨鸟学习文档

    9. **设计模式**:介绍一些常见的设计模式,如单例、工厂、观察者等,以及如何在实际项目中应用它们。 进入Java Web开发领域,文档可能会涵盖: 10. **Servlet与JSP**:讲解如何使用Servlet进行后端处理,以及JSP...

    设计模式(菜鸟到高手)

    设计模式(菜鸟到高手)

    Java培训教程 菜鸟到高手

    "Java培训教程 菜鸟到高手"是一套旨在帮助初学者全面掌握Java编程技能的教程。这个教程的目标是通过系统性的学习,将新手逐步引领至高级开发者水平。 首先,Java基础知识是学习的起点。包括Java的历史、特性以及为...

    java菜鸟教程_JAVA菜鸟教程_

    【Java菜鸟教程】是针对初学者精心编写的教程,旨在帮助新手快速掌握Java编程语言的基础知识。本教程全面覆盖了Java的核心概念和技术,是学习Java编程的理想起点。 首先,Java是一种面向对象的编程语言,由Sun ...

    java设计模式

    ### Java设计模式详解 #### 一、概述 Java设计模式是一种软件工程领域的经典主题,它主要探讨了在...以上只是部分设计模式的介绍,更多关于Java设计模式的内容及其实现细节,请参阅原书以获得更深入的理解和学习。

Global site tag (gtag.js) - Google Analytics