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


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

Re: parent::__contruct() prima o dopo

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: parent::__contruct() prima o dopo
Date 2018-11-26 11:45 +0000
Message-ID <g624nhFsmd0U1@mid.individual.net> (permalink)
References (4 earlier) <ptbpir$all$1@gioia.aioe.org> <g5vecfFac48U2@mid.individual.net> <ptghpd$1lg7$1@gioia.aioe.org> <g620cvFrnu5U1@mid.individual.net> <ptgla2$1sd8$1@gioia.aioe.org>

Show all headers | View raw


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.

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?

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?

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.

Bye.

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