The Factory pattern is an excellent way to solve a variety of programming problems using an object-oriented language. It’s a simple pattern, but for some developers, not quite simple enough. Den found this interface :

public interface IInstanceFactory {  
    public IInstanceFactory getInstanceFactory();  
    public IInstanceFactory getInstance();  
    public IInstanceFactory getOrderFactory();  
    public IInstanceFactory getGroupFactory();  
    public IInstanceFactory getUserFactory();  
}