|
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 {
}
|
|
Last Updated on Friday, 17 June 2005 23:57 |