Abstract factory Print E-mail
User Rating: / 1
PoorBest 
Thursday, 20 January 2005 21:31
Provide an interface for creating families of related or dependent objects without specifying their concrete classes.



Source Code

/**
 * Abstract factory declares an interface for operations that create abstract
 * product objects.
 * 
 * @role __Factory
 */
public interface AbstractFactory {
        /**
  * Creates abstract product
  */
        ProductA createProductA();        /**
  * Creates abstract product
  */
        ProductB createProductB();}

/**
 * Abstract factory declares an interface for operations that create abstract
 * product objects.
 * 
 * @role __Factory
 */
public interface AbstractFactory {
        /**
  * Creates abstract product
  */
        ProductA createProductA();        /**
  * Creates abstract product
  */
        ProductB createProductB();}

/**
 * Abstract product - an interface for a type of Product object.
 * 
 * @role __Product
 * @see AbstractFactory
 */
public interface ProductA {

        /*
  * add product method declarations here
  */
}

/**
 * Concrete Factory implements operations of AbstractFactory to create Concrete
 * product objects.
 */
public class MyFactory implements AbstractFactory {

        /**
  * Creates concrete product ConcreteProduct1
  */
        public ProductA createProductA() {
                return new ConcreteProduct1();        }

        /**
  * Creates concrete product ConcreteProduct2
  */
        public ProductB createProductB() {
                return new ConcreteProduct2();        }

}

/**
 * Concrete product defines a product object to be created by the corresponding
 * concrete factory.
 * 
 * @see MyFactory
 */
public class ConcreteProduct1 implements ProductA {

}

/**
 * Concrete product defines a product object to be created by the corresponding
 * concrete factory.
 * 
 * @see MyFactory
 */
public class ConcreteProduct2 implements ProductB {

}

Tags See All Tags Add New Tag...

Please Enter New Tags Separated By Comma's
  Or Close

designpattern  java 
Powered By Joomla Tags

Comments
Add New Search RSS
Write comment
Name:
Email:
 
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
:):grin;)8):p:roll:eek:upset:zzz:sigh:?:cry
:(:x
Please input the anti-spam code that you can read in the image.

3.20 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Last Updated on Friday, 17 June 2005 23:57
 


Another articles:

Powered By relatedArticle

Content View Hits : 3462914

Enter Amount: