En programación de computadoras, una fábrica es un objeto que se utiliza para crear otros objetos. En este caso, los objetos se refieren a valores, funciones o estructuras de datos que se utilizan en el código. El patrón de fábrica es un patrón de diseño que se basa en las fábricas para hacer objetos en lugar de crearlos directamente. Esto permite que el código se modifique fácilmente y mantenga la flexibilidad. Se utiliza mucho en la programación informática orientada a objetos, que utiliza objetos para crear programas y aplicaciones.
Una fábrica tiene un método para cada tipo de objeto que puede crear. Un método es esencialmente un patrón. Consiste en un conjunto de instrucciones, conocido como subrutina, que toma parámetros generalmente proporcionados por el usuario y genera un objeto específico. La mayor parte de esto ocurre detrás de escena sin que el usuario o el cliente sepan nada al respecto.
Cuando se usa el patrón de fábrica, el programa interactúa con una interfaz común en lugar de comunicarse directamente con las clases. Una clase se usa como plantilla para crear objetos. Cada objeto de una clase en particular comparte el mismo comportamiento y atributos básicos. Las clases se pueden dividir en subclases, cada una de las cuales hereda algunos de los atributos de la clase a la que pertenece. Un objeto de una clase particular se conoce como instancia de esa clase.
Si, por ejemplo, el usuario quisiera que el programa creara un cuadrado en un programa o sistema operativo que usa el patrón de fábrica, el programa notificaría a la fábrica que el usuario necesitaba un objeto que tuviera cuatro lados de igual longitud y cuatro ángulos rectos. La fábrica notificaría al método de forma que se necesitaba una forma. Podría transmitir algunos parámetros del cuadrado, como el área que al usuario le gustaría que cubriera el cuadrado.
Las subclases decidirían qué clase debería usarse. Una instancia del cuadro de clase se devolvería a la fábrica, que la pasaría al programa que la solicitó primero. El usuario vería solo que la información fue enviada a la fábrica y devuelta por la fábrica. No se puede ver el funcionamiento interno de la fábrica.
La ventaja de utilizar un patrón de fábrica es que permite cambiar fácilmente el programa. Se pueden agregar nuevos tipos al patrón de fábrica simplemente modificando una pequeña parte del código del cliente, generalmente no más de una línea. Otros patrones de programación requieren que el programador altere el código en cada lugar donde se crea un objeto.