Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22370
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Re: parent::__contruct() prima o dopo |
| Date | 2018-11-26 13:02 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <ptgndd$mh$1@gioia.aioe.org> (permalink) |
| References | (5 earlier) <g5vecfFac48U2@mid.individual.net> <ptghpd$1lg7$1@gioia.aioe.org> <g620cvFrnu5U1@mid.individual.net> <ptgla2$1sd8$1@gioia.aioe.org> <g624nhFsmd0U1@mid.individual.net> |
Il 26/11/18 12:45, Alessandro Pellizzari ha scritto:
> On 26/11/2018 11:26, alex wrote:
>
>> Il 26/11/18 11:31, Alessandro Pellizzari ha scritto:
>
>>> Non capisco che utilità potrebbe avere, visto che poi devi
>>> istanziarlo, e non si può istanziare una classe astratta.
>
>> Eh?????????
>>
>> Comunque ecco due link
>> https://code.tutsplus.com/tutorials/design-patterns-the-decorator-pattern--cms-22641
>
>
> Che conferma quello che ho detto: non puoi istanziare la classe astratta.
Ma penso che si possa istanziare una delle classi derivate, mi pare
*super ovvio*.
> Puoi avere una classe astratta per semplificare il wrapping nel caso
> base, ma è molto limitante. Cosa succede se devi passare altra roba al
> decoratore, invece che solo la classe decorata?
Cioè?
Cmq un decoratore dovrebbe solo richiedere il $wrapper e nient'altro, o
sbaglio?
> Il tuo codice richiede sia la classe wrappata che il $verboseStream, per
> esempio.
>
> Per quello dico che non ha senso definire una classe astratta per il
> decoratore. L'articolo è del 2015, tra l'altro. Usa pesantemente
> l'ereditarietà anche quando non serve. Molto Java-inspired. :D
>
>> https://csharpcorner-mindcrackerinc.netdna-ssl.com/UploadFile/damubetha/decorator-pattern-in-csharp/Images/decorator.png
>
>
> Questo a me pare abbastanza insulso, onestamente. C'è già un'interfaccia
> che il decoratore deve implementare. A cosa serve avere anche una classe
> astratta?
Ad evitare di ripetere questa cosa:
private $wrapped;
function __construct( Sender $wrapped ) {
$this->wrapped = $wrapped;
}
Mi sembra che l'avevo già scritto.
> Forse dipende da limitazioni di C# o di Java, ma in PHP non ha proprio
> senso. Serve solo a rendere meno flessibile e più lento il codice.
Un esempio?
Back to it.comp.www.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-23 08:51 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-24 09:07 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-24 14:39 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-24 13:51 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-24 16:04 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-25 11:12 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-26 11:26 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 10:31 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-26 12:26 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 11:45 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-26 13:02 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 15:18 +0000
Re: parent::__contruct() prima o dopo Flavix <imeil@a.a> - 2018-11-26 17:03 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 16:20 +0000
Re: parent::__contruct() prima o dopo off line <mail@inva.it> - 2018-11-27 08:25 +0100
csiph-web