public abstract class AbstractFactory<I> extends AbstractFactoryBase
The class actually uses singleton pattern to instantiate and reuse just one instance of a factory. Therefore, each factory implementation has to be thread-safe.
In a general case, the hierarchy of factory objects for an Java interface IUknown may look as follows:
AbstractFactory<IUnknown>
^
|
Application code ---- ConcreteFactory
^
|
+---------+---------+
| |
BaselineFactoryImpl CustomFactoryImpl
Where the classes responsibility is:
public abstract class ConcreteFactory extends AbstractFactory<IUnknown> {
static {
registerFactory(ConcreteFactory.class, BaselineFactoryImpl.class);
}
public static ConcreteFactory getInstance() {
return AbstractFactory.<IUnknown, ConcreteFactory.class>getInstance(ConcreteFactory.class);
}
}
| Constructor and Description |
|---|
AbstractFactory() |
getInstance, init, isFactoryRegistered, registerFactory, registerFactory, stop, stopAll, unregisterFactoryCopyright © 2018. All rights reserved.