Commit 52620c84 authored by jg5dev's avatar jg5dev 💬
Browse files

better

parent 69a1e291
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -87,8 +87,11 @@
  - [Principis](./fonaments/principis.md)
  - [POO](./fonaments/poo_java.md)
  - [Disseny](./fonaments/disseny.md)
  - [Arquitectura](./fonaments/arquitectura.md)
  - [Arquitectura](./fonaments/arquitectura_index.md)
    - [Conceptes](./fonaments/arquitectura.md)
    - [Fronteres de servei](./fonaments/fronteres_servei.md)
    - [Arquitectura dels frameworks](./fonaments/frameworks.md)
    - [Frameworks un per un](./fonaments/frameworks_taules.md)
    - [Frameworks a la pràctica](./fonaments/frameworks_practica.md)
  - [Workflow Git](./fonaments/workflow_git.md)
  - [Docker bàsic](./fonaments/basic_docker.md)
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ Una interfície, una definició de tipus, o un esquema d'API és l'especificaci
| "afegeix un endpoint per crear usuaris" | "implementa l'endpoint `POST /users` tal com es defineix a `openapi.yaml` — el body, la resposta i els codis d'error estan tots especificats allà" |
| "escriu la lògica de processament de pagaments" | "implementa `PaymentProcessor` per satisfer la interfície `PaymentGateway` de `payments/gateway.py` — totes les signatures i tipus de retorn estan definits" |

Perquè aquests contractes són llegibles per la màquina, la conformitat és verificable pel compilador o un test de contracte sense dependre de la revisió humana per detectar desviacions. Per a com dissenyar bons contractes precondicions, postcondicions, invariants vegeu [Disseny per contracte](../fonaments/disseny.md#disseny-per-contracte).
Perquè aquests contractes són llegibles per la màquina, la conformitat és verificable pel compilador o un test de contracte, sense dependre de la revisió humana per detectar desviacions. Per a com dissenyar bons contractes (precondicions, postcondicions, invariants), vegeu [Disseny per contracte](../fonaments/arquitectura.md#disseny-per-contracte).

### Evita la subespecificació

+6 −3
Original line number Diff line number Diff line
@@ -3,9 +3,12 @@
- [Principis](./fonaments/principis.md): conceptes bàsics de programació, des de l'execució del codi fins a dades, memòria, funcions i recursivitat.
- [POO](./fonaments/poo_java.md): conceptes de programació orientada a objectes, relacions entre objectes i patrons de disseny.
- [Disseny](./fonaments/disseny.md): disseny a nivell de codi i classe (SOLID, dependències, testabilitat, seams) i com escriure codi llegible.
- [Arquitectura](./fonaments/arquitectura.md): disseny a nivell de sistema (fronteres, disseny per contracte, hexagonal, clean, DDD, C4) i APIs REST.
- [Arquitectura dels frameworks](./fonaments/frameworks.md): patrons arquitecturals que segueixen els frameworks que utilitzem
- [Frameworks a la pràctica](./fonaments/frameworks_practica.md): llegir un projecte, triar framework, deixar-ne peces substituïbles i posar ordre quan el framework no en posa
- [Arquitectura](./fonaments/arquitectura_index.md): disseny a nivell de sistema, dels conceptes a l'arquitectura que ja et ve donada amb un framework.
  - [Conceptes](./fonaments/arquitectura.md): fronteres, estils i patrons (hexagonal, clean, DDD), disseny per contracte, diagrames C4 i arquitectura en equip.
  - [Fronteres de servei](./fonaments/fronteres_servei.md): com es comuniquen dos serveis, amb REST, versionat del contracte, missatgeria i streaming.
  - [Arquitectura dels frameworks](./fonaments/frameworks.md): quina arquitectura imposa un framework (peces comunes, model d'execució, eix d'opinió, capes, ORM).
  - [Frameworks un per un](./fonaments/frameworks_taules.md): taules de consulta amb el vocabulari i les decisions per defecte de dotze frameworks.
  - [Frameworks a la pràctica](./fonaments/frameworks_practica.md): llegir un projecte, triar framework, deixar peces substituïbles i posar ordre quan el framework no en posa.
- [Workflow Git](./fonaments/workflow_git.md): flux de treball amb Git, resolució de conflictes, estratègies de branques i bones pràctiques.
- [Docker bàsic](./fonaments/basic_docker.md): contenidors, Dockerfile, volums, Docker Compose i distribució d'imatges.
- [DevOps](./fonaments/devops.md): principis de la cultura DevOps i com aplicar-los al desenvolupament i l'operació.
+326 −256

File changed.

Preview size limit exceeded, changes collapsed.

+18 −0
Original line number Diff line number Diff line
# Arquitectura

Disseny a nivell de sistema: primer els conceptes i com es comuniquen els serveis, després
l'arquitectura que ja et ve donada quan treballes amb un framework, i finalment què fer-ne.

- [Conceptes](./arquitectura.md): fronteres, estils i patrons (hexagonal, clean, DDD), disseny per
  contracte, diagrames C4 i arquitectura en equip.
- [Fronteres de servei](./fronteres_servei.md): com es comuniquen dos serveis, amb REST i el seu
  disseny, versionat del contracte, missatgeria i streaming.
- [Arquitectura dels frameworks](./frameworks.md): quina arquitectura imposa un framework i com es
  tradueix als conceptes anteriors (peces comunes, model d'execució, eix d'opinió, capes, ORM).
- [Frameworks un per un](./frameworks_taules.md): taules de consulta amb el vocabulari i les
  decisions per defecte de dotze frameworks.
- [Frameworks a la pràctica](./frameworks_practica.md): llegir un projecte, triar framework, deixar
  peces substituïbles i posar ordre quan el framework no en posa.

Es llegeixen en aquest ordre, perquè cada pàgina dona per sabuda l'anterior. Frameworks un per un
és l'excepció: són taules per consultar quan calguin.
Loading