Me alegro de que te guste! Te gustaría ver videos sobre algún tema específico??
@retamap19 күн бұрын
muy interesante tu contenido, un saludo!
@ProductCrafter19 күн бұрын
Gracias! Un saludo!
@FranciscoRamirez-im5us3 күн бұрын
Muy bueno el video, con respecto a la hora de crear un builder para los test, no seria tambien buena idea mezclar tambien el patrón Prototype y asi la inicialización del objeto que quieres testear quede bajo la responsabilidad de la clase a probar. O sea creas un metodo clone dentro de ese modelo y se crea con los valores que uno considere por defecto(segun la lógica del negocio) y si se agrega un nuevo atributo esto queda más desacoplado entre test y los modelos? Otro que se me ocurre es un factory pero Prototype creo que es más idóneo por un tema de dividir responsabilidades ya que el builder no tiene por qué conocer como se inicializa ese objeto.
@ProductCrafter3 күн бұрын
Claro! Como dices se puede combinar con algo como lo que comentas. Otro patrón muy usado es el Object Mother para crear objetos "tipo" y es combinable con builders para ello. Y luego los valores por defecto que comentas pueden ser incluso valores random en algunos casos. Gracias por compartir!
@adrian-476715 күн бұрын
Product Crafter tu canal es excelente, la mayoria de KZbinrs de programacion ni siquiera trabajan profesionalmente en la programacion y unicamente les interesa vender cursos, se nota que vos de verdad sos profesional y trabajas en la industria. Espero que tu canal siga creciendo porque es buenisimo, te recomiendo cambies el nombre del canal y la foto (por una que haga referencia a la programacion) y empieces a dejar comentarios en otros canales para que mas gente se suscriba. Muchas gracias por tus videos!
@ProductCrafter14 күн бұрын
Gracias por el feedback, me alegro que te haya gustado! Pensaré los consejos que me has comentado, tengo muchas dudas con el nombre jaja. Se te ocurre alguno que vaya bien?
@alberto302812 күн бұрын
Creo que sería interesante combinar Object mothers con el builder, de esa forma en los test seguiremos usando object mothers pero con características predefinidas y reutilizables que podrán seleccionarse mediante métodos.
@ProductCrafter11 күн бұрын
Claro! Los object mothers es el otro gran patrón que me encanta usar en testing. Haré un video sobre ello más adelante. Gracias por compartir!
@wanaldino19 күн бұрын
Fan del patron builder o assembly. Personalmente prefiero que el builder haga de storage de las propiedades del init del objeto, hay momentos o lenguajes que tienen objetos inmutables y no puedes ir accediendo a las propiedades para modificarlas 😉
@ProductCrafter19 күн бұрын
@@wanaldino totalmente cierto! Aunque si tienes muchas puede hacerse engorroso, pero me gusta el concepto.
@kevinaparicio462817 күн бұрын
estaria bien que hagas un video de patrones de patrones de diseño 😉
@ProductCrafter16 күн бұрын
Tomo nota! Tengo varios pensados!! Algún patrón en concreto que te interese más??
@kevinaparicio462815 күн бұрын
@@ProductCrafter la verdad recién comencé a leer de patrones y en backend dice que usa mucho el Repositorio
@jeffersonhernandez858812 күн бұрын
Interesante los ejemplos de aplicación de los patrones de diseño en casos reales o más cercanos a la realidad como este video.
@joreenginer19 күн бұрын
Que ventaja tiene poner build() cuando esa clase ya esa builder, ye podrías ahorrar el build usando el dundle __call__ en vez de build no?
@ProductCrafter19 күн бұрын
Se podría pero quedaría algo como ProductBuilder().with_price(10)() en vez de ProductBuilder().with_price(10).build() ya que queremos poder encadenar llamadas a los métodos que modifican la instancia base. Me gusta más un método nombrado que tener ese () extraño al final. ¿Como lo ves? ¿Usas otras alternativas?
@assass-zs5ef10 күн бұрын
Que interesante. Me pregunto si no sería mas simple definir parámetros con datos predeterminados en el constructor de la clase builder y que creara el objeto a partir de estos. La llamada quedaria algo asi: ObjectBuilder(price=13, quantity=2).build() en lugar de ObjectBuilder.with_price(13).with_quantity(2).build() No se si esto tendria algun inconveniente
@ProductCrafter10 күн бұрын
Buena observación! En lenguajes como python o js podría hacerse como dices y no tendría muchas desventajas (la única que se me ocurre es que hagas alguna validación y el constructor te quede enorme). En otros lenguajes como los compilados lo que comentas se hace más complicado al no tener cosas como los kwargs de python. Gracias por compartir!