Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #20417 > unrolled thread
| Started by | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| First post | 2016-02-26 19:54 +0100 |
| Last post | 2016-02-29 14:24 +0000 |
| Articles | 8 — 4 participants |
Back to article view | Back to it.comp.www.php
estendere le classi con gli eventi alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-02-26 19:54 +0100
Re: estendere le classi con gli eventi fmassei@gmail.com - 2016-02-26 21:55 -0800
Re: estendere le classi con gli eventi alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-02-27 08:42 +0100
Re: estendere le classi con gli eventi fmassei@gmail.com - 2016-02-27 00:04 -0800
Re: estendere le classi con gli eventi Alessandro Pellizzari <shuriken@amiran.it> - 2016-02-29 10:59 +0000
Re: estendere le classi con gli eventi Alex <tommaso5ita@yahoo.it> - 2016-02-29 12:47 +0100
Re: estendere le classi con gli eventi alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-02-29 13:14 +0100
Re: estendere le classi con gli eventi Alessandro Pellizzari <shuriken@amiran.it> - 2016-02-29 14:24 +0000
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-02-26 19:54 +0100 |
| Subject | estendere le classi con gli eventi |
| Message-ID | <naq70s$grd$1@gioia.aioe.org> |
come tutti sappiamo, c'è l'eredietarietà o si possono usare i decoratori; ma alcuni framework (symfony, cakephp) mettono a disposizione dei sistemi di events-dispatching. Cosa ne pensate di questo sistema per estendere le classi?
[toc] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-02-26 21:55 -0800 |
| Message-ID | <c185404b-1466-4a09-ad17-885432a22ac7@googlegroups.com> |
| In reply to | #20417 |
On Friday, February 26, 2016 at 1:54:28 PM UTC-5, alex wrote: > come tutti sappiamo, c'è l'eredietarietà o si possono usare i > decoratori; ma alcuni framework (symfony, cakephp) mettono a > disposizione dei sistemi di events-dispatching. > Cosa ne pensate di questo sistema per estendere le classi? Qui stai mischiando patate e carote :) In quei framework il sistema event-driven è un paradigma di programmazione, non ha nulla a che vedere con paradigmi o pattern architetturali. Ciao!
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-02-27 08:42 +0100 |
| Message-ID | <nark08$9sp$1@gioia.aioe.org> |
| In reply to | #20418 |
fmassei@gmail.com ha scritto: > On Friday, February 26, 2016 at 1:54:28 PM UTC-5, alex wrote: >> come tutti sappiamo, c'è l'eredietarietà o si possono usare i >> decoratori; ma alcuni framework (symfony, cakephp) mettono a >> disposizione dei sistemi di events-dispatching. >> Cosa ne pensate di questo sistema per estendere le classi? > > Qui stai mischiando patate e carote :) > In quei framework il sistema event-driven è un paradigma di programmazione, > non ha nulla a che vedere con paradigmi o pattern architetturali. > > Ciao! > Ok però a parte tutto, gli eventi li vedo utili solo per implementare plugin, o l'ereditarietà multipla. O ci possono essere altre utilità? -- ----Android NewsGroup Reader---- http://usenet.sinaapp.com/
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-02-27 00:04 -0800 |
| Message-ID | <1f284b0a-f844-470a-afdc-c939bbc557db@googlegroups.com> |
| In reply to | #20419 |
On Saturday, February 27, 2016 at 2:42:04 AM UTC-5, alex wrote: > fmassei@gmail.com ha scritto: > > On Friday, February 26, 2016 at 1:54:28 PM UTC-5, alex wrote: > >> come tutti sappiamo, c'è l'eredietarietà o si possono usare i > >> decoratori; ma alcuni framework (symfony, cakephp) mettono a > >> disposizione dei sistemi di events-dispatching. > >> Cosa ne pensate di questo sistema per estendere le classi? > > > > Qui stai mischiando patate e carote :) > > In quei framework il sistema event-driven è un paradigma di programmazione, > > non ha nulla a che vedere con paradigmi o pattern architetturali. > > > > Ok però a parte tutto, gli eventi li vedo utili solo per > implementare plugin, o l'ereditarietà multipla. O ci possono > essere altre utilità? > Vedila così: è un modo di gestire il flow del programma. E' un modo giusto? Sbagliato? Si può fare altrimenti? Sì e no a tutte e tre le domande: è una delle tante scelte tecniche possibili. A me personalmente, in PHP server-side, non è mai andato giù perché concettualmente non ha senso, ma architetturalmente rende più logiche certe metodologie di sviluppo: ne hai detta una importante, sviluppare plugins è più chiaro con sotto un sistema event-driven per chi viene da un particolare mindset abbastanza diffuso. Secondo me, a monte, al di là del mindset che si possiede, prima della facilità di sviluppo (IMHO solo apparente, perché poi si finisce spesso nell'overengineering) ci sono altre priorità, ma è un'idea mia: puoi facilmente trovare chi ti dirà tutto il contrario di quanto ho scritto io in queste ultime due frasi. Ciao!
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-02-29 10:59 +0000 |
| Message-ID | <djiml5FfjanU1@mid.individual.net> |
| In reply to | #20419 |
On 27/02/2016 07:42, alex wrote: > Ok però a parte tutto, gli eventi li vedo utili solo per > implementare plugin, o l'ereditarietà multipla. O ci possono > essere altre utilità? L'ereditarietà multipla è forse l'ultima cosa a cui penso, riguardo l'event dispatching. Per plugin dipende cosa intendi, perchè vuol dire tutto e niente. Un sistema ad eventi può essere utile, per esempio, per attaccare un logger o un profiler a un package, o in generale per lanciare elaborazioni parallele e trasparenti al normale flusso del programma, e per disaccoppiare i componenti. Esempio stupido: un sistema di upload di immagini lancia un evento "uploaded" appena finito l'upload, e poi se ne frega se dietro non c'è niente o se magari c'è un task (anche accodato in gearman o simile) che prende quell'immagine e fa resize e cropping in 10-15 versioni diverse, magari salvando i dati in S3, o andando ad aggiornare il sistema di mailing in modo che alla prossima newsletter l'immagine venga inclusa, o che incrementi un contatore che manda una mail all'utente per dirgli quanti upload gli rimangono quel mese, o che posti l'immagine su twitter, ecc. Ecco, alcuni (o tutti, dipende da come la vedi) li puoi considerare plugin, ma li puoi anche considerare microservices, componenti, servizi accessori, ecc. Bye.
[toc] | [prev] | [next] | [standalone]
| From | Alex <tommaso5ita@yahoo.it> |
|---|---|
| Date | 2016-02-29 12:47 +0100 |
| Message-ID | <nb1b4j$307$1@adenine.netfront.net> |
| In reply to | #20425 |
Alessandro Pellizzari ha pensato forte : > quell'immagine e fa resize e cropping in 10-15 versioni diverse, magari > salvando i dati in S3, o andando ad aggiornare il sistema di mailing in modo > che alla prossima newsletter l'immagine venga inclusa, Faccciamo una digressione, se me la passate, precisamente sul sistema di mailing di cui sei un esperto. Se fai una mail rispettando *tutti* i criteri di Google che sono piuttosto restrittivi, ottieni che la mail passa i filtri di Google e viene effettivamente servita dai suoi server. Poi però succede che diversi provider nostrani, ci si è messo pure Aruba, non passano la stessa mail perché è fatta in modo tale che dichiara apertamente quello che è. Quindi: la conformità alla policy di Google impedisce il servizio di consegna da parte degli ISP di casa nostra. Insomma un pasticcio. Anche abbastanza irritante. Bye -- Alex --- news://freenews.netfront.net/ - complaints: news@netfront.net ---
[toc] | [prev] | [next] | [standalone]
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Date | 2016-02-29 13:14 +0100 |
| Message-ID | <nb1cn7$120s$1@gioia.aioe.org> |
| In reply to | #20425 |
Il 29/02/2016 11:59, Alessandro Pellizzari ha scritto: > > Per plugin dipende cosa intendi, perchè vuol dire tutto e niente. > intendo più o memo che (tratto da http://symfony.com/legacy/doc/jobeet/1_3/it/20?orm=Doctrine): L'utilizzo primario dei plugin è quello di facilitare la condivisione di codice tra le applicazioni, o anche tra differenti progetti. Ricordiamo che gli applicativi symfony condividono solo il modello. I Plugin forniscono un modo per condividere più componenti tra gli applicativi. > Un sistema ad eventi può essere utile, per esempio, per attaccare un > logger o un profiler a un package, o in generale per lanciare > elaborazioni parallele e trasparenti al normale flusso del programma, e > per disaccoppiare i componenti. > appunto > Esempio stupido: un sistema di upload di immagini lancia un evento > "uploaded" appena finito l'upload, e poi se ne frega se dietro non c'è > niente o se magari c'è un task (anche accodato in gearman o simile) che > prende quell'immagine e fa resize e cropping in 10-15 versioni diverse, > magari salvando i dati in S3, o andando ad aggiornare il sistema di > mailing in modo che alla prossima newsletter l'immagine venga inclusa, o > che incrementi un contatore che manda una mail all'utente per dirgli > quanti upload gli rimangono quel mese, o che posti l'immagine su > twitter, ecc. > giusto > Ecco, alcuni (o tutti, dipende da come la vedi) li puoi considerare > plugin, ma li puoi anche considerare microservices, componenti, servizi > accessori, ecc. cmq direi che alla fine è una delle tante tecniche da prendere in considerazione, con i relativi pregi/difetti
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-02-29 14:24 +0000 |
| Message-ID | <djj2l7Fin6fU1@mid.individual.net> |
| In reply to | #20431 |
On 29/02/2016 12:14, alex wrote: > Il 29/02/2016 11:59, Alessandro Pellizzari ha scritto: >> >> Per plugin dipende cosa intendi, perchè vuol dire tutto e niente. > intendo più o memo che (tratto da > http://symfony.com/legacy/doc/jobeet/1_3/it/20?orm=Doctrine): Quella definizione di plugin è valida solo per Symfony 1.3, che è legacy e abbandonato da parecchio tempo. Dalla 2.x, quelli che prima erano plugin ora si chiamano (più o meno) bundle, e anche in questo caso la definizione è valida solo per Symfony. Bye.
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web