No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Diagrama de implementación de Factory

8/27
Recursos

Aportes 11

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

En resumen, se deben tener dos abstracciones: una para fábricas, para poder crear distintas fábricas, y otra para productos, para poder crear diferentes tipos de productos. Cada fábrica concreta puede crear productos concretos dependiendo de las relaciones entre ellas.

No entendi nada wey

Mi explicación

Voy a dividir los 4 pasos en 2: (1 y 2) y (3 y 4).

Pasos 1 y 2

Creamos una super clase/interfaz Product que definirá la estructura base de todos los productos. Todas las sub clases/implementaciones de la super clase/interfaz Product se consideran de tipo Product también, pues comparten la misma estructura (no sé si sería bueno mencionar las relaciones de herencia/implementación vistas en el curso anterior).

Pasos 3 y 4

Creamos una super clase/interfaz Factory que devuelva objetos que sean de tipo Product. No importa cuál.
Por último, creamos fabricas concretas (o también fabricas especificas) para cada producto en particular. Estas fabricas concretas heredan/implementan de la super clase/interfaz Factory.
.
De esta forma, todos nuestros productos siguen una estructura base, y todas nuestras fabricas siguen una estructura base también.

Esto me toma más tiempo porque estoy llevando los digramas a texto en vim. Lulz.

Yo tuve que ver esta clase tres veces y ejemplificar con modelos reales para entender el diagrama 😅

Yo lo veo de esta forma el diagrama:

Product -> Pizza
ProductA -> Pizza hawaiana
ProductB -> Pizza con champiñones

Factory -> Fabrica de pizzas
ConcreteFactoryA -> Solicitud de hacer una pizza hawaiana
ConcreteFactoryB -> Solicitud de hacer una pizza con champiñones

Comentame si tienes algun cambio a mi propuesta del ejemplo o si tienes otro ejemplo modelado, ¡Será un placer leerte!

Gracias profesor, el diagrama explica mucho dondé y porqué se utiliza la POO para el diseño del sistema y su programación

A mi se me hace más fácil entender el diagrama considerando todos los Product’s como interfaces, ya que en ese sentido, las Factories deben cumplir con ese contrato.
Eso para mi es mucho más sencillo de entender, porque si Product’s es tomado como clases, lo encuentro un poco más complicado

nunca habia vistoo este patron formalmente, pero me hace mucho sentido , es como si cuando vi poo este ubierea sido el ejemplo con el que me explicaron como interactuan las clases y subclases
Pues aqui un ejemplo de como seria en java: ```java public class Main {    public static void main(String\[] args) {        Factory factoryA = new ConcreteFactoryA();        Factory factoryB = new ConcreteFactoryB();         Product productA = factoryA.makeProduct();        Product productB = factoryB.makeProduct();         System.out.println(productA.doProductOperation());        System.out.println(productB.doProductOperation());    }} interface Product {    String doProductOperation();} interface Factory {    Product makeProduct();} class ProductA implements Product {    @Override    public String doProductOperation() {        return "making a ProductA product...";    }} class ProductB implements Product {    @Override    public String doProductOperation() {        return "making a ProductB product...";    }} class ConcreteFactoryA implements Factory {    @Override    public Product makeProduct() {        return new ProductA();    }} class ConcreteFactoryB implements Factory {    @Override    public Product makeProduct() {        return new ProductB();    }} ```

si, fue claro! ♥