package normeDeCodage.desingpattern.factoryPattern;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Stack;

public class ExampleFactory<T> {
	/*
	 * le factory pattern
	 * 
	 * permet � un groupe d'objet qui appartiennent � la m�me interface
	 * d'�tre initialis� de multiple fa�ons abstraites 
	 * sans avoir � se soucier de la collection d'objet
	 */
	
	public List<T> tableau(){
		return new ArrayList<T>();
	}
	
	public List<T> file(){
		return new LinkedList<T>();
	}
	
	public List<T> pile(){
		return new Stack<T>();
	}
	
	/*
	 * dans cet example , nous ne retournons que des List,
	 * mais provenant de 4 objet diff�rent
	 * 
	 * la factory portera le nom de l'interface suivie de Factory
	 * cet exemple aurai du �tre nomm� ListFactory
	 */
}
