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


Groups > pl.comp.lang.php > #16011

Re: Dependecy injection - jak to działa?

From Marek S <precz@spamowi.com>
Newsgroups pl.comp.lang.php
Subject Re: Dependecy injection - jak to działa?
Date 2019-01-03 21:35 +0100
Organization ATMAN - ATM S.A.
Message-ID <q0lrml$ral$1@node2.news.atman.pl> (permalink)
References <pv1eid$s19$1@node2.news.atman.pl> <slrnq18hch.a42.wojciech.bancer@pl-test.org> <zh5xsvsue6hi$.1dwdbwvgnw36w$.dlg@40tude.net> <q0j6nq$b92$2@node2.news.atman.pl> <65gtnyttdedm.eb9c8v75r5ke.dlg@40tude.net>

Show all headers | View raw


W dniu 2019-01-02 o 22:18, Borys Pogoreło pisze:

>> Sądzisz, że tak? Ja nie bardzo sobie wyobrażam jak wywołać funkcję i
>> przekazać jej parametry zgodnie z fantazją twórcy tejże funkcji.
>> Instanceof działa post factum. Tymczasem typy argumentów trzeba znać
>> _ZANIM_ wywoła się daną funkcję.
> 
> To chyba normalne w każdym normalnym [1] języku obsługującym typowanie?

Chyba się nie rozumiemy. To moim zdaniem nie mocno nienormalne. Może 
opiszę to częściowo kodem. Piszemy klasę framework i metodę run():

abstract class framework {
   private function run() {
	switch (wezTypArgumentuProgramisty( $this->execute) {
	case User: $this->execute(new User); break;
	case Dog: $this->execute(new Dog); break;
	}

	$this->execute("abc");
   }

   abstract protected function execute($param) {}
}

Programista pisze dwie klasy dziedziczące w/w i nadpisujące metodę execute:

class mine1 extends framework {
   protected function execute(User $user) { do something }
}


class mine2 extends framework {
   protected function execute(Dog $dog) { do something }
}

Czy takie programowanie jest normalne, gdzie programista wymyśla sobie 
argumenty do funkcji a framework krakuje klasy potomne programisty w 
celu wyłuskania typów oczekiwanych argumentów i takie je przekazuje?

-- 
Pozdrawiam,
Marek

Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Dependecy injection - jak to działa? Marek S <precz@spamowi.com> - 2018-12-15 00:32 +0100
  Re: Dependecy injection - jak to działa? Wojciech Bancer <wojciech.bancer@gmail.com> - 2018-12-15 01:06 +0100
    Re: Dependecy injection - jak to działa? Marek S <precz@spamowi.com> - 2018-12-15 23:26 +0100
    Re: Dependecy injection - jak to działa? Borys Pogoreło <borys@pl.edu.leszno> - 2018-12-16 12:31 +0100
      Re: Dependecy injection - jak to działa? Marek S <precz@spamowi.com> - 2019-01-02 21:25 +0100
        Re: Dependecy injection - jak to działa? Borys Pogoreło <borys@pl.edu.leszno> - 2019-01-02 22:18 +0100
          Re: Dependecy injection - jak to działa? Marek S <precz@spamowi.com> - 2019-01-03 21:35 +0100
            Re: Dependecy injection - jak to działa? Borys Pogoreło <borys@pl.edu.leszno> - 2019-01-04 00:54 +0100
              Re: Dependecy injection - jak to działa? Marek S <precz@spamowi.com> - 2019-01-08 20:43 +0100
                Re: Dependecy injection - jak to działa? Marek S <precz@spamowi.com> - 2019-01-08 20:47 +0100

csiph-web