Els llibres de la lliçó anterior marquen el fons; l'ecosistema en línia marca el ritme. A internet hi ha material excel·lent sobre patrons de disseny — referències interactives, blogs dels mateixos autors, xerrades de conferència, kates de refactorització — i també tones de contingut superficial, copiat o desactualitzat. Aquesta lliçó no et dona una llista d'enllaços per acumular a les adreces d'interès: et dona una taxonomia de tipus de recurs, criteris per avaluar cadascun i, sobretot, un pla de pràctica deliberada amb PideYa com a projecte personal, perquè els patrons no s'aprenen mirant vídeos sinó escrivint codi.

Contingut

  1. Els tipus de recurs en línia (i per a què serveix cadascun)
  2. Referències interactives: refactoring.guru i sourcemaking
  3. Blogs d'autors: martinfowler.com i companyia
  4. La documentació oficial com a font de patrons reals
  5. Plataformes de cursos: com avaluar sense llista de la compra
  6. Xerrades i canals: GOTO, Devoxx i les conferències a YouTube
  7. Kates i pràctica deliberada
  8. PideYa com a projecte personal: l'exercici integrador
  9. Contingut desactualitzat: com detectar-lo

Els tipus de recurs en línia

Cada tipus de recurs serveix per a una fase diferent de l'aprenentatge. Usar el tipus equivocat per a la fase equivocada és la principal font de frustració:

Tipus de recurs Exemples coneguts Per a què serveix Per a què NO serveix
Referència interactiva refactoring.guru, sourcemaking.com Consulta ràpida d'un patró: intenció, diagrama, codi Aprendre de zero sense context de problema
Blog d'autor martinfowler.com, blog de Robert C. Martin Criteri, matisos, debats de disseny Referència estructurada dels 23 patrons
Documentació oficial Javadoc del JDK, docs de Spring Veure patrons aplicats en APIs reals Explicacions didàctiques del patró en si
Plataforma de cursos Coursera, Udemy, Pluralsight Estructura i acompanyament en vídeo Substituir la pràctica amb codi propi
Xerrades de conferència GOTO, Devoxx a YouTube Perspectiva, experiència real, tendències Aprenentatge sistemàtic pas a pas
Kates i plataformes de pràctica exercism, codewars, kates de refactorització Pràctica deliberada amb feedback Teoria i fonaments

Referències interactives: refactoring.guru i sourcemaking

refactoring.guru és avui la referència visual més popular dels patrons GoF: cada patró amb el seu problema, solució, diagrames, pseudocodi i exemples en diversos llenguatges (Java inclòs), a més d'un catàleg de refactoritzacions i code smells alineat amb Fowler. És ideal com a segona opinió després d'aquest curs: quan dubtis d'un patró, contrasta la seva fitxa amb el que vam construir a PideYa.

sourcemaking.com és el seu predecessor espiritual: mateix territori (patrons, antipatrons, refactoring), estil més antic. Útil sobretot pel seu catàleg d'antipatrons, que amplia la nostra lliçó del mòdul 5.

Advertiment comú a tots dos: els seus exemples són deliberadament petits i didàctics. El risc és memoritzar la miniatura i no reconèixer el patró a mida real — per això aquest curs va insistir en un domini continu com PideYa.

Blogs d'autors: martinfowler.com i companyia

martinfowler.com és probablement el lloc individual més valuós d'aquesta lliçó: el catàleg de PoEAA en línia, el bliki amb definicions canòniques (de "Microservices" a "StranglerFigApplication", l'origen del patró que vam usar al mòdul 6), i articles llargs sobre refactorització, CI/CD i arquitectura evolutiva. Llegeix-lo quan un terme del curs et demani profunditat: gairebé sempre hi ha una entrada seva que el va fixar.

El blog de Robert C. Martin (Uncle Bob) complementa amb opinions fortes sobre principis SOLID, arquitectura neta i professionalisme. Igual que amb els seus llibres: material valuós, to vehement — llegeix-lo amb el criteri propi que ja has entrenat.

La documentació oficial com a font de patrons reals

Un hàbit que distingeix qui de debò domina patrons: llegir la documentació oficial buscant el patró. Ho vam practicar al mòdul 5 i convé mantenir-lo:

  • Javadoc del JDK: Iterator, els factory methods de List.of/Collectors, el Builder de StringBuilder i HttpRequest, Observer a java.util.concurrent.Flow, Decorator a java.io.
  • Documentació de Spring: Template Method a JdbcTemplate, Proxy a AOP i @Transactional, Singleton com a scope per defecte, Strategy a tota la configuració endollable.

La documentació oficial mai no està desactualitzada respecte a la seva versió i mostra decisions de disseny preses per equips experts amb restriccions reals: és un curs de patrons gratuït amagat a plena vista.

Plataformes de cursos: com avaluar sense llista de la compra

A Coursera, Udemy o Pluralsight hi ha cursos de patrons bons i dolents, i els catàlegs canvien constantment, així que més útil que recomanar un títol és donar-te la checklist d'avaluació:

  • Llenguatge i versió? Un curs de patrons "en Java" gravat sobre Java 6 ignorarà lambdes, records i Optional, i t'ensenyarà solucions avui innecessàriament verboses.
  • Exemples amb domini o miniatures? Desconfia de cursos on cada patró viu en el seu exemple aïllat de joguina (figures geomètriques, animals). Ja saps per experiència que el valor és en un domini continu.
  • Parla de quan NO usar el patró? Un curs que només ven avantatges no ha entès el mòdul 5 d'aquest. Els trade-offs són la meitat del contingut.
  • Data d'actualització i ressenyes recents? Ressenyes de fa cinc anys descriuen un altre curs.
  • Hi ha exercicis amb codi, no només vídeo? Veure programar no és programar.

Si un curs passa aquesta checklist, probablement val la pena, sigui quina sigui la plataforma.

Xerrades i canals: GOTO, Devoxx i les conferències a YouTube

Els canals de YouTube de conferències com GOTO i Devoxx publiquen gratis milers de xerrades de qualitat: és on la indústria discuteix microserveis, DDD, arquitectura evolutiva o els límits dels patrons, sovint pels mateixos autors dels llibres de la lliçó anterior. Com aprofitar-les:

  • Usa-les per a perspectiva, no per a fonaments: una xerrada de 45 minuts inspira i orienta, però no substitueix la pràctica.
  • Busca per concepte del curs ("circuit breaker", "event sourcing", "hexagonal architecture") i filtra pels últims 2-3 anys per a les tendències, sense por de les xerrades clàssiques per als fonaments.
  • Regla pràctica: per cada xerrada vista, una nota d'una línia amb la idea aplicable. Sense nota, la xerrada va ser entreteniment.

Kates i pràctica deliberada

La pràctica deliberada — exercicis curts, repetibles, amb focus en una habilitat concreta — és al disseny el que les escales al piano:

  • exercism: exercicis per llenguatge amb mentoria de la comunitat; la seva pista de Java és un bon gimnàs d'idiomàtica.
  • codewars: kates curtes per dificultat; útils per guanyar fluïdesa, menys per a disseny (els problemes són petits).
  • Kates de refactorització: les més valuoses per a aquest curs. La Gilded Rose — que ja et vam proposar a la lliçó de refactorització del mòdul 5 — és la reina: codi llegat horrible amb tests, perfecte per practicar el cicle "test → refactoritzar → el patró emergeix". Altres de conegudes: Tennis Refactoring Kata i Trip Service Kata (de l'ecosistema d'Emily Bache i Sandro Mancuso, els repositoris dels quals són fàcils de trobar).

La clau d'una kata no és acabar-la sinó repetir-la: la segona vegada amb un altre patró, la tercera amb TDD estricte. La repetició amb variació és el que fixa el criteri.

PideYa com a projecte personal: l'exercici integrador

El millor "curs online" que pots fer ara no és a cap plataforma: és implementar PideYa de debò. Durant el curs en vas veure fragments; construir-la completa t'obligarà a prendre totes les decisions que un curs pren per tu. Pla suggerit per etapes:

Etapa Què construir Patrons que exercita Mòduls
1 Domini: carta, plats, extres, comanda Composite, Decorator, Builder, Prototype 2, 3
2 Checkout: validació, pagament, notificacions Chain, Facade, Adapter, Factory Method, Observer 2, 3, 4
3 Cicle de vida i repartiment State, Strategy, Mediator, Command 4
4 Persistència i arquitectura Repository, hexagonal, DI (amb o sense Spring) 6
5 (Opcional, ambiciosa) Partir-la en 2-3 serveis API Gateway, Outbox, Circuit Breaker, Saga 6

Regles del joc: tests des del principi (mòdul 6, TDD), cada patró introduït quan el codi ho demani (Kerievsky, mòdul 5) i un petit ADR per decisió de disseny. Un repositori així, a més, és el millor portfoli de disseny que pots ensenyar en una entrevista.

Contingut desactualitzat: com detectar-lo

El contingut en línia envelleix sense avisar. Senyals d'alarma en avaluar un tutorial o curs:

  • Singleton amb doble comprovació com "la" solució, sense esmentar enum ni contenidors DI: material anterior a la conversa moderna (la nostra crítica del mòdul 2).
  • Java sense lambdes on una lambda ho resoldria (Strategy o Observer amb classes anònimes de deu línies): anterior a Java 8, és a dir, més d'una dècada.
  • "Els microserveis sempre són millors" (o qualsevol "sempre"): el pèndol de la indústria ja va tornar; el material seriós parla de trade-offs, com vam fer al mòdul 6.
  • Frameworks o versions que ja no reconeixes als exemples, o captures d'eines amb interfícies de fa molts anys.
  • Absència total de tests en un tutorial de refactorització: contradiu la definició mateixa de refactoritzar.

Detectar material desactualitzat no sempre vol dir descartar-lo — els fonaments envelleixen bé — però sí llegir-lo sabent quina part ha caducat.

Errors Comuns i Consells

  • Error: el col·leccionisme de tutorials. Cinquanta pestanyes desades i cap projecte acabat. Regla inversa: màxim un recurs actiu per tipus, i no se n'afegeix un altre fins a tancar l'actual.
  • Error: el "tutorial hell". Encadenar cursos en vídeo produeix sensació de progrés sense progrés real. La proporció sana és aproximadament 1 hora de consum per 2-3 de pràctica.
  • Error: aprendre patrons només amb miniatures. Si tots els teus exemples caben en una pantalla, no reconeixeràs el patró en un sistema real. D'aquí el projecte PideYa.
  • Error: ignorar la data del contingut. Un tutorial sense data visible ja és un senyal; aplica la checklist de desactualització abans d'invertir-hi hores.
  • Consell: converteix el que consumeixes en alguna cosa que produeixes — una nota, un commit a la teva PideYa, un test nou. L'aprenentatge sense artefacte s'evapora.

Exercicis

Exercici 1: Auditoria d'un recurs

Tria un tutorial o curs de patrons que tinguis desat (o busca'n un qualsevol sobre Singleton en Java). Passa-li la checklist d'avaluació i la llista de senyals de desactualització. Escriu un veredicte de tres línies: l'usaries?, amb quines precaucions?

Exercici 2: El teu pla de pràctica de 4 setmanes

Dissenya un pla setmanal realista (indica hores/setmana) combinant almenys tres tipus de recurs de la taula inicial i l'etapa 1 del projecte PideYa. Format suggerit: setmana → objectiu → recurs → artefacte produït.

Exercici 3: La kata repetida

Fes (o refés) la Gilded Rose. Primera passada: només refactoritzacions petites recolzades en els tests. Segona passada, un altre dia: introdueix explícitament un patró del mòdul 4 on el codi ho demani. Anota quina passada et va resultar més natural i per què.

Solucions

Exercici 1 (orientativa): un veredicte típic sobre un tutorial antic de Singleton: "Explica bé la intenció, però usa doble comprovació sense volatile (incorrecta) i no esmenta enum ni DI; l'usaria només per a la motivació del patró, mai per a la implementació". Fixa't que el veredicte separa quina part del recurs continua sent vàlida.

Exercici 2 (orientativa): exemple amb 5 h/setmana: S1 — domini de PideYa (Composite de la carta) + fitxa de Composite a refactoring.guru com a contrast; S2 — extres amb Decorator + una xerrada de GOTO sobre disseny OO amb nota d'una línia; S3 — Gilded Rose primera passada; S4 — Builder de la comanda + revisió: quin patró va sorgir sense planejar-lo? El criteri de qualitat del pla: cada setmana acaba amb codi, no només amb contingut vist.

Exercici 3 (orientativa): la majoria troba la primera passada més segura (els tests manen, passos petits) i la segona més temptadora de sobredissenyar. Si a la segona et vas sorprendre posant un patró "perquè tocava" i no perquè el codi ho demanés, acabes de viure en petit la lliçó d'antipatrons del mòdul 5 — aquest autoconeixement és exactament l'objectiu de la kata.

Conclusió

Ja saps navegar l'ecosistema: referències interactives per consultar, blogs d'autors per al criteri, documentació oficial per veure patrons de debò, xerrades per a la perspectiva, kates per al múscul i PideYa com a projecte integrador on tot s'ajunta. El fil comú és sempre el mateix: consumir menys, produir més, i desconfiar del material que no mostra ni les seves dates ni els seus trade-offs. Però aprendre en solitari té un sostre: el criteri de disseny s'esmola discutint amb altres — preguntant bé, llegint codi aliè, rebent revisions. D'això tracta la lliçó següent: Comunitats i Fòrums.

Curs de Patrons de Disseny de Programari

Mòdul 1: Introducció als Patrons de Disseny

Mòdul 2: Patrons Creacionals

Mòdul 3: Patrons Estructurals

Mòdul 4: Patrons de Comportament

Mòdul 5: Aplicació de Patrons de Disseny

Mòdul 6: Patrons de Disseny Avançats

Mòdul 7: Recursos Addicionals i Conclusió

© Copyright 2026. Tots els drets reservats