mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-16 22:59:11 +00:00
69 lines
4.3 KiB
Markdown
69 lines
4.3 KiB
Markdown
<!-- the line below needs to be an empty line C: (its because kramdown isnt
|
|
that smart and dearly wants an empty line before a heading to be able to
|
|
display it as such, e.g. website) -->
|
|
|
|
# Modelli di progettazione in Java
|
|
|
|

|
|
[](https://raw.githubusercontent.com/iluwatar/java-design-patterns/master/LICENSE.md)
|
|
[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
|
|
[](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns)
|
|
[](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
[](#contributors-)
|
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
|
|
<br/>
|
|
|
|
Leggi in lingue diverse: [**it**](localization/it/README.md), [**zh**](localization/zh/README.md), [**ko**](localization/ko/README.md), [**fr**](localization/fr/README.md), [**tr**](localization/tr/README.md), [**ar**](localization/ar/README.md), [**es**](localization/es/README.md), [**pt**](localization/pt/README.md), [**id**](localization/id/README.md), [**ru**](localization/ru/README.md), [**de**](localization/de/README.md), [**ja**](localization/ja/README.md), [**vi**](localization/vi/README.md), [**bn**](localization/bn/README.md), [**np**](localization/np/README.md)
|
|
<br/>
|
|
|
|
# Introduzione
|
|
|
|
I modelli di progettazione sono i migliori metodi un programmatore puó usare per
|
|
risolvere problemi comuni nel strutturare un' applicazione o sistema.
|
|
|
|
I modelli di progettazione possono velocizzare lo sviluppo fornendo paradigmi di
|
|
sviluppo testati e approvati.
|
|
|
|
Riutilizzare i modelli di progettazione aiuta a prevenire problemi che possono
|
|
diventare sempre più grandi a, inoltre, migliora la leggibilità del codice per i
|
|
programmatori e ingegneri che anno famigliarità con questi modelli.
|
|
|
|
# Come iniziare
|
|
|
|
Questo sito espone i Modelli di Progettazione in Java. Le soluzioni sono state
|
|
sviluppate da programmatori e ingegneri esperti della comunità open-source. Questi
|
|
modelli possono essere consultati attraverso le loro descrizioni dettagliate o guardando
|
|
il loro codice sorgente. Gli esempti di codice sono ben commentati e possono essere
|
|
visti come dei tutorial di programmazione riguardanti l' implementazione di modelli
|
|
specifici. Per fare ciò utiliziamo le migliori e più famose tecnologie Java.
|
|
|
|
Prima di cimentarti nel materiale proposto, dovresti prima familiarizzare con i vari
|
|
[Principi di modellazione software](https://java-design-patterns.com/principles/).
|
|
|
|
Tutti i modelli dovrebbero essere il più semplici possibili. Ti consigliamo di cominicare
|
|
con i principi KISS, YAGNI e Do The Simplest Thing That Could Possibly Work. Complessità
|
|
e modelli dovrebbero essere introdotti solamente quando sono necessari per motivi pratici.
|
|
|
|
Quando hai familiarizzato con questi concetti puoi cominciare a immergerti nei
|
|
[modelli di progettazione disponibili](https://java-design-patterns.com/patterns/) usando
|
|
uno dei seguenti approcci:
|
|
|
|
- Ricercando un modello specifico per nome. Non riesci a trovarlo? Allora comunicacelo [qui](https://github.com/iluwatar/java-design-patterns/issues).
|
|
- Usando etichette come `Performence`, `Gang of four` o `Data access`.
|
|
- Usando categorie di modelli come `Creational`, `Behavioral` eccetera.
|
|
|
|
Speriamo le soluzioni object-oriented mostrate ti siano utili per i tuoi progetti e che tu
|
|
ti diverta a impararle come abbiamo fatto noi nell' implementarle.
|
|
|
|
# Come contribuire
|
|
|
|
Se desideri contribuire al progetto puoi trovare le informazioni necessari nella nostra pagina
|
|
[wiki](https://github.com/iluwatar/java-design-patterns/wiki). Ti aiuteremo a responderemo a
|
|
ogni tua domanda nella [chatroom Gitter](https://gitter.im/iluwatar/java-design-patterns).
|
|
|
|
# Licenza
|
|
|
|
Questo progetto sotto licenza MIT.
|