código Java para implementar el patrón de diseño del patrón de la fábrica

patrón de diseño de fábrica: Con el fin de comprender el acoplamiento para separar el usuario que ha creado el objeto objeto.
  La vida: en la producción en serie
  en Java: los objetos producidos en serie

División:
  su producción (crear) objetos y usando objetos separados, desacoplamiento

1, un simple patrón de la fábrica
  ventaja: el código es relativamente simple
  Contras: Si añade un nuevo tipo de producto, es necesario modificar la clase de fábrica
  en violación de una orientación a objetos principios de desarrollo: abierto para la extensión, pero cerrado para la modificación

2, el patrón método de fábrica

  (1) Con el fin de separar la producción y el uso de objetos de destino
  (2) si el aumento de nuevos productos, no hay necesidad de modificar los originales clase de fábrica
  ventajas: Después de la adición de nuevos productos, sin modificar el principio de la clase original,
  Contras: demasiada clase

Ejemplo: patrón de fábrica sencillo

SimpleFactory2 clase {
  public static getCar coche (tipo String) {
    if (.equals "BMW" (tipo)) {
      return new BMW ();
    } else if (.equals "BZ" (tipo)) {
      return new Benz ();
    }
    Nula regresar;
  }
}

Ejemplo: Método de fábrica

interfaz de fábrica {
  vehículo getVehiCle ();
}

clase BMWFactory implementos de fábrica {

  @ Override
  pública Che getche () {
    return new Baoma ();
  }
}
Implementos BZFactory clase de fábrica {

  @ Override
  pública Che getche () {
    return new BZ ();
  }
}

......

Ejemplo: Uso de reflexión, en combinación con patrón simple modelo método de fábrica planta

SimpleFactory clase {
  public static getVehicle Vehículo (String className) throws Exception {
    Clase clazz = Class.forName (className);

    Object obj = clazz.newInstance ();

    si (ejemplo obj del Vehículo) {

      retorno (Vehículo) obj;  

    }
    Nula regresar;
  }
}

Supongo que te gusta

Origin www.cnblogs.com/dirsoen/p/12642817.html
Recomendado
Clasificación