Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22370

Re: parent::__contruct() prima o dopo

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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