package patronAbstractFactory; /*Permite trabajar con objetos de distintas familias (proporcionando una interfaz) de manera que las familias * no se mezclen entre sí y haciendo transparente el tipo de familia concreta que se esté usando. */ public class Main { public static void main(String[] args) { //en este caso la fabrica dependeria del sistema operativo. //mirariamos el sistema y devuelve 0 si es windows, o 1 si es linux. int sistema = 0; Cliente c1 = new Cliente(crearFabrica(sistema)); sistema = 1; Cliente c2 = new Cliente(crearFabrica(sistema)); } private static AbstractFactory crearFabrica(int sistema) { if(sistema==0) { return new FabricaWindows(); }else { return new FabricaLinux(); } } }