Patrones de diseño: Abstract Factory

Hoy continuamos con los patrones de diseño, más concretamente Abstract Factory, si tenéis sugerencias para el blog, tutoriales, etc. dejadla en los comentarios :)


Este patrón de diseño, tiene relación con el anterior que hemos visto, el Factory.


Se podría definir como "fábrica de fábricas", dado que nos devolverá un objeto que nos permitirá construir objetos de un determinado tipo, por ejemplo, queremos "fabricar" varios modelos de sillas, pues instanciaremos la fábrica de sillas, si queremos de mesas, pues de mesas, y así sucesivamente.

Te dejo un ejemplo:


Partimos de la base del patrón Factory. (Lo tienes en este enlace)


Creamos una clase Factory1 y Factory2. Estas clases crearán los objetos como en el patrón anterior de Factory, pero, existirá una clase llamada por ejemplo, CreatorFactory que devolverá una de las dos fabricas dependiendo de lo que se le diga en el main.



public class main {
 public static void main () {
  CreatorFactory cf = new CreatorFactory("1");
  // cf será ahora Factory1
  Object1 obj1 = cf.getObject();

  CreatorFactory cf = new CreatorFactory("2");
  // cf será ahora Factory2
  Object2 obj2 = cf.getObject();
 }
}

Dependiendo de la fábrica que instanciamos podremos crear uno u otro tipo de objetos. Esto es útil cuando tenemos familias de objetos.


Espero hayas entendido esta pequeña explicación. Y te sirva a tener un contexto más amplio de los patrones de creación.


Si tienes alguna aportación que pueda mejorar la explicación o crees que me ha faltado algo importante, házmelo saber en los comentarios ;)


Te espero en la próxima :)


56 vistas

©2020 por Juanma Perez.