Red de conocimiento informático - Conocimiento informático - ¿Cuáles son las diferencias entre el patrón de fábrica, el patrón de fábrica simple y el patrón de fábrica abstracto?

¿Cuáles son las diferencias entre el patrón de fábrica, el patrón de fábrica simple y el patrón de fábrica abstracto?

Las diferencias entre el modo de fábrica, el modo de fábrica simple y el modo de fábrica abstracto:

1. Al crear objetos, el "modo de fábrica" ​​usa el modo Fábrica en lugar de usar nuevo para crear objetos; el "modo de fábrica simple" usa el modo fw para crear objetos y el "modo de fábrica abstracto" usa el modo iterativo;

2. Definir las variables de forma diferente. El "modo de fábrica" ​​no requiere definir variables por adelantado y se puede hacer referencia a ellas en cualquier momento al usarlas. El "modo de fábrica simple" utiliza variables predefinidas, como parámetros o archivos de configuración, y luego utiliza el juicio de rama para inicializar categorías de productos específicas y devolverlas. El "patrón abstracto de fábrica" ​​no cumple con el principio de "cierre de desarrollo". Cada vez que se agrega un producto, es necesario modificar el método de clase.

3. El número de interfaces es diferente. El "modo de fábrica" ​​tiene de dos a tres interfaces. "Simple Factory Pattern" tiene una sola interfaz. En teoría, el patrón de fábrica abstracto tiene interfaces ilimitadas.

Información ampliada

Las ventajas y desventajas de utilizar el "modelo de fábrica" ​​para la programación:

1 Ventajas:

Es. Es conveniente expandir el algoritmo, como agregar Para una función raíz, solo necesitamos continuar heredando la clase de operación. Al mismo tiempo, el cliente, es decir, el usuario, no conoce los detalles de implementación específicos. Se proporciona el identificador relevante, la función de fábrica creará inmediatamente la entidad que desea. Reduce el acoplamiento entre usuarios y desarrolladores de funciones.

2. Desventajas:

Al expandir, necesitamos cambiar la declaración de rama Switch en la función de fábrica, lo que destruirá el OCP y cuando se hereda la estructura de varios niveles. Una fábrica simple tendrá que hacer que muchas clases hereden la misma interfaz porque solo puede corresponder a una capa paralela, y entonces habrá tantas entidades de fábrica como A*B, y la función de fábrica será difícil de mantener.

Enciclopedia Baidu: modo fábrica