{"id":263,"date":"2019-12-03T19:27:09","date_gmt":"2019-12-03T18:27:09","guid":{"rendered":"http:\/\/mirotti.eu\/?p=263"},"modified":"2019-12-03T19:27:09","modified_gmt":"2019-12-03T18:27:09","slug":"patterns","status":"publish","type":"post","link":"https:\/\/mirotti.eu\/index.php\/2019\/12\/03\/patterns\/","title":{"rendered":"Patterns"},"content":{"rendered":"<p>Un <strong>Design Pattern<\/strong> in generale descrive un problema in cui si incorre spesso nell&#8217;ambiente di lavoro, e descrive l&#8217;idea di base che sta dietro alla soluzione di quel problema, in modo tale che sia possibile riutilizzare sempre questa soluzione, senza dover risolvere il problema nuovamente ogni volta.<\/p>\n<p>I pattern, per il loro scopo, sono spesso l&#8217;<strong>astrazione di un problema e della sua soluzione<\/strong> in modo tale che sia possibile utilizzarli in molti ambiti e non specificatamente in una sola situazione.<br \/>\nLa struttura dei pattern \u00e8 normalmente sempre la stessa, sono composti da:<\/p>\n<ul>\n<li>Un <strong>nome<\/strong>: identifica il pattern;<\/li>\n<li>Un <strong>problema<\/strong>: descrive il problema che quel pattern vuole risolvere;<\/li>\n<li>Una <strong>soluzione<\/strong>: spiega la soluzione del problema;<\/li>\n<li>Le <strong>conseguenze<\/strong>: una sezione per comprendere i costi e i benefici di quel pattern e le possibili alternative<\/li>\n<\/ul>\n<p><strong>Molti pattern esistono gi\u00e0 e ci permettono di trovare soluzioni standard<\/strong>, quindi abbondantemente testate, a problemi comuni; qui sotto una lista dei pattern pi\u00f9 conosciuti e pi\u00f9 utilizzati nell\u2019ambito della programmazione ad oggetti:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-266 aligncenter\" src=\"http:\/\/mirotti.eu\/wp-content\/uploads\/2019\/12\/Screenshot_2019-12-03-Microsoft-PowerPoint-IS-DesignPattern_1_StrategyObserver-pptx-IS-DesignPattern_1_StrategyObserver....png\" width=\"783\" height=\"394\" srcset=\"https:\/\/mirotti.eu\/wp-content\/uploads\/2019\/12\/Screenshot_2019-12-03-Microsoft-PowerPoint-IS-DesignPattern_1_StrategyObserver-pptx-IS-DesignPattern_1_StrategyObserver....png 1054w, https:\/\/mirotti.eu\/wp-content\/uploads\/2019\/12\/Screenshot_2019-12-03-Microsoft-PowerPoint-IS-DesignPattern_1_StrategyObserver-pptx-IS-DesignPattern_1_StrategyObserver...-300x151.png 300w, https:\/\/mirotti.eu\/wp-content\/uploads\/2019\/12\/Screenshot_2019-12-03-Microsoft-PowerPoint-IS-DesignPattern_1_StrategyObserver-pptx-IS-DesignPattern_1_StrategyObserver...-768x387.png 768w, https:\/\/mirotti.eu\/wp-content\/uploads\/2019\/12\/Screenshot_2019-12-03-Microsoft-PowerPoint-IS-DesignPattern_1_StrategyObserver-pptx-IS-DesignPattern_1_StrategyObserver...-1024x516.png 1024w\" sizes=\"auto, (max-width: 783px) 100vw, 783px\" \/><\/p>\n<p>I Pattern sono molto potenti, oltre che per trovare soluzioni ai problemi, anche e soprattutto per <strong>migliorare il lavoro di squadra all\u2019interno di un gruppo di sviluppatori<\/strong>. Implementare un pattern significa scrivere del codice con una logica standard, molto utilizzata ed ampiamente documentata, inoltre <strong>rende molto pi\u00f9 semplice la comunicazione tra le persone<\/strong> che, con il solo nome identificativo del pattern, sotto-intendono molte informazioni per risolvere i problemi.<\/p>\n<p>La repository presente a questo link:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/github.com\/LeoMirots\/Patterns\">https:\/\/github.com\/LeoMirots\/Patterns<\/a><br \/>\ncontiene il codice sorgente e la documentazione di un progetto d\u2019esempio che implementa alcuni dei patterns sopra citati.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un Design Pattern in generale descrive un problema in cui si incorre spesso nell&#8217;ambiente di lavoro, e descrive l&#8217;idea di base che sta dietro alla soluzione di quel problema, in modo tale che sia possibile riutilizzare sempre questa soluzione, senza dover risolvere il problema nuovamente ogni volta. I pattern, per il loro scopo, sono spesso [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-263","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/posts\/263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/comments?post=263"}],"version-history":[{"count":5,"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/posts\/263\/revisions"}],"predecessor-version":[{"id":269,"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/posts\/263\/revisions\/269"}],"wp:attachment":[{"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/media?parent=263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/categories?post=263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mirotti.eu\/index.php\/wp-json\/wp\/v2\/tags?post=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}