`
liuxinglanyue
  • 浏览: 561976 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java设计模式之抽象工厂模式

阅读更多

ABSTRACT FACTORY (Object Creational) 
Purpose 
Provide an interface that delegates creation calls to one or 
more concrete classes in order to deliver specific objects. 
Use When 
n The creation of objects should be independent of the system 
utilizing them. 
1 Systems should be capable of using multiple families of objects. 
2 Families of objects must be used together. 
3 Libraries must be published without exposing implementation 
details. 
4 Concrete classes should be decoupled from clients. 
Example 
Email editors will allow for editing in multiple formats including 
plain text, rich text, and HTML. Depending on the format being 
used, different objects will need to be created. If the message 
is plain text then there could be a body object that represented 
just plain text and an attachment object that simply encrypted 
the attachment into Base64. If the message is HTML then the 
body object would represent HTML encoded text and the 
attachment object would allow for inline representation and a 
standard attachment. By utilizing an abstract factory for creation 
we can then ensure that the appropriate object sets are created 
based upon the style of email that is being sent. 

Java代码 
  1. package javaPattern.abstractFactory;  
  2.   
  3. public interface AbstractFactory {  
  4.     public AbstractProduct createProductA();   
  5.     public AbstractProduct createProductB();   
  6. }  
  7. interface AbstractProduct {  
  8.     public void someMethod();  
  9. }  
  10. class ConcreteProductA implements AbstractProduct{  
  11.     public void someMethod(){  
  12.         System.out.println("具体的商品A");  
  13.     }  
  14. }  
  15. class ConcreteProductB implements AbstractProduct{  
  16.     public void someMethod(){  
  17.         System.out.println("具体的商品B");  
  18.     }  
  19. }  
  20. class ConcreteFactory implements AbstractFactory{  
  21.   
  22.     @Override  
  23.     public AbstractProduct createProductA() {  
  24.         return new ConcreteProductA();  
  25.     }  
  26.   
  27.     @Override  
  28.     public AbstractProduct createProductB() {  
  29.         return new ConcreteProductB();  
  30.     }  
  31.     public static void main(String[] args) {  
  32.         AbstractFactory abstractFactory = new ConcreteFactory();  
  33.         AbstractProduct abstractProduct = abstractFactory.createProductA();  
  34.         abstractProduct.someMethod();  
  35.     }  
  36. }  

分享到:
评论

相关推荐

    JAVA设计模式之抽象工厂模式

    在"JAVA设计模式之抽象工厂模式"的示例中,可能会包含这些角色的实现以及如何在实际场景中应用抽象工厂模式的解释和示例代码。这个压缩包可能包含了详细的设计和实现,帮助学习者深入理解抽象工厂模式的工作原理及其...

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

    java设计模式之抽象工厂模式实例,希望对大家有所帮助。

    Java设计模式之抽象工厂模式.zip

    通过阅读《Java设计模式之抽象工厂模式.pdf》这份文档,你可以更深入地理解抽象工厂模式的原理、实现方式以及如何在Java项目中应用这一模式。文档中可能涵盖了模式的优缺点、实例分析、与其他设计模式的比较等内容,...

    Java设计模式之抽象工厂模式.docx

    抽象工厂模式是设计模式中的一种,属于创建型模式,它为创建一组相关或相互依赖的对象提供了一个统一的接口,使得客户端无需关注这些对象的具体实现细节,仅需与抽象工厂交互即可。这种模式遵循开放封闭原则(OCP)...

    JAVA设计模式之抽象工厂模式案例

    抽象工厂模式是软件设计模式中的一种,属于创建型模式,它提供了一种创建对象组族的接口,而无需指定其具体类。这种模式的关键在于抽象工厂,它定义了一组产品对象的接口,并且允许子类根据不同的实现来生产一系列...

    Java设计模式之抽象工厂模式.pdf

    在Java设计中,抽象工厂模式通常用于处理多个相关产品对象的创建。例如,我们可能有一个系统需要创建不同类型的植物(Plant)和水果(Fruit),每种类型都有其特定的实现,如PlantA和PlantB,FruitA和FruitB。这些...

    Java设计模式之抽象工厂模式实例详解

    Java设计模式之抽象工厂模式实例详解 Java设计模式之抽象工厂模式实例详解是指在软件设计中,通过提供一个创建一系列相关或相互依赖对象的接口,且无需指定它们具体的类别的方式来生成这些对象的模式。抽象工厂模式...

    JAVA设计模式之抽象工厂

    **JAVA设计模式之抽象工厂** 在软件工程中,设计模式是一种通用的解决方案,用来解决在特定上下文中反复出现的问题。抽象工厂(Abstract Factory)模式是其中一种创建型设计模式,它提供一个创建对象的接口,但允许...

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

    总的来说,抽象工厂模式在Java中是一种非常实用的设计模式,它可以帮助我们封装产品的创建过程,降低系统间的耦合度,同时提供了更好的可扩展性,使得添加新的产品族或者产品变得更加容易。在处理具有多种变体的复杂...

    Java设计模式-抽象工厂

    **Java设计模式——抽象工厂** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图。抽象工厂模式是设计模式中的一种结构型模式,它提供了一个创建对象族的接口,但允许子类决定实例化哪一个类。这...

    Java 工厂模式 抽象工厂 工厂方法模式

    本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心思想是提供一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端无需...

    java常用设计模式-抽象工厂模式

    java常用设计模式-抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它通过定义一个创建对象的接口来创建对象,但将具体实现的决定留给子类来决定。在抽象工厂模式中,接口是负责创建...

    探索Java设计模式:工厂模式与抽象工厂模式的比较

    工厂模式和抽象工厂模式是两种常用的创建型设计模式,它们在Java中有着广泛的应用。本文将详细探讨这两种模式的区别,并提供代码示例来加深理解。 工厂模式和抽象工厂模式都是创建型设计模式,它们提供了代码解耦和...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...

    Java设计模式教程 - Java设计模式 - 抽象工厂模式

    抽象工厂模式是Java设计模式中的一种创建型模式,它提供了创建对象族的接口,而具体的对象族由子类决定。这种模式的主要目的是隔离接口与实现,使得客户端代码在更换产品族时无需修改,增强了软件的可扩展性和可维护...

Global site tag (gtag.js) - Google Analytics