DESIGN PATTERN IN JAVA: IL PATTERN BUILDER [DESIGN PATTERN IN ITALIANO]

Поделиться
HTML-код
  • Опубликовано: 19 дек 2024

Комментарии • 19

  • @zephyr5016
    @zephyr5016 3 года назад +2

    Complimenti davvero, spiegazione magistrale e tono di voce che massaggia il cervello mentre si impara! Doti da non sottovalutare.
    Spero di vedere presto un video su altri design pattern, oggi ne cercavo uno per il decorator e sarebbe stato bellissimo vederne uno fatto così

  • @AlessandroCocchi
    @AlessandroCocchi 4 года назад +2

    Complimenti Prof, i tuoi tutorial come le tue lezioni sono sempre molto chiare. Grazie

  • @MiDo55667
    @MiDo55667 4 года назад +2

    Grazie e complimenti Prof, i suoi video sono molto chiari e interessanti. Spero che continui con questa serie di video

  • @lukestrat93
    @lukestrat93 4 года назад

    Complimenti Prof!!
    Volevo chiederle se parlerà in futuro del Factory Pattern o se ne ha parlato mai su un altro video.
    Sarei molto curioso.

  • @Thepantino
    @Thepantino 4 года назад

    Illuminante grazie!!

  • @mysteriousXsecret
    @mysteriousXsecret 4 года назад +3

    bella lezione però prof alzi un po' il microfono

  • @NicolaGramola
    @NicolaGramola 4 года назад

    Interessante. Se dovessi implementare questo pattern in Python come faresti?

    • @ProfAndreaPollini
      @ProfAndreaPollini  4 года назад +3

      Non cambia nulla, ci sarebbe sempre una classe builder Che costruisce l'oggetto. I pattern sono indipendenti dal linguaggio di programmazione

  • @piolopioli1903
    @piolopioli1903 4 года назад

    mi sfugge il vantaggio rispetto a un costruttore di default + normali setter, a parte non dover ripetere la variabile per ogni setter. Puntando sulla sicurezza ma perdendo in flessibilità forse si potrebbe obbligare a scrivere tutti i setter (eventualmente vuoti)

    • @ProfAndreaPollini
      @ProfAndreaPollini  4 года назад

      Se hai un costruttore con dieci parametri o una costruzione dove parametri dipendono da altri non puoi operare come dici, inoltre mettere tutti setter pubblici implica che i tuoi oggetti sono mutabili e questo è il male. Qua il mio oggetto negozio è immutabile e la mutabilita causata dalla necessità di costruire l'oggetto come tu proponi è una pratica abbastanza pericolosa dal punto di vista dell'architettura del software

    • @bstefano79
      @bstefano79 4 года назад +3

      è più leggibile ti faccio un esempio
      Query q = new Query("cod_art, desc_art", "tabella_articoli", "cod_art = 100", "");
      Query q = new Query("cod_art, desc_art", "tabella_articoli", "des_art like '%prova%' and active = '1' ", "cod_art desc");
      si capisce poco o niente, non è intuitivo
      se invece faccio
      Query q = Query.Build().select("cod_art,desc_art").from("tabella_articoli").where("cod_art = 100").build();
      Query q = Query.Build().select("cod_art,desc_art").from("tabella_articoli").where("des_art like '%prova%).and("active = '1'").orderby("cod_art desc").build();
      diventa più leggibile, sembra quasi una vera query

    • @piolopioli1903
      @piolopioli1903 4 года назад

      @@ProfAndreaPollini non mi è chiaro perchè è immutabile ma per questo appena possibile proverò a trascriverlo e a provarlo

    • @piolopioli1903
      @piolopioli1903 4 года назад

      @@bstefano79 io pensavo a una cosa di questo tipo:
      Negozio n = new Negozio(); // set parametri di default
      n.setProprietario(...);
      n.setIndirizzo(...);
      ecc. se serve altrimenti rimangono i valori di default

    • @ProfAndreaPollini
      @ProfAndreaPollini  4 года назад +2

      @@piolopioli1903 costruttore privato, nessun setter ma solo getter, diventa immutabile, se modifichi una variabile d'istanza devi creare un nuovo oggetto.

  • @mesorotto83
    @mesorotto83 4 года назад +1

    Queste assomigliano molto a quelle che si chiamano "Fluent API"

    • @ProfAndreaPollini
      @ProfAndreaPollini  4 года назад +2

      Esattamente. Quelle API implementano proprio questo pattern