Avatar
Martin Konečný (pavelco1998):

Ahoj.

Dejme tomu, že mám ve hře možnost cestovat mezi lokacemi. Kam dát metodu, která změní lokaci, ve které hráč je?

  1. $user->travel($location);
  2. $map->changeUserLo­cation($userId, $location);

Logičtější mi přijde to první, ale mapa se stará o lokace, tak si teď nejsem jistý. Co myslíte vy?

Editováno 13.1.2013 17:07
 
Odpovědět 13.1.2013 17:05
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Drahomír Hanák:

Určitě ta první možnost. Sám jsi to řekl. Mapa se stará o lokace, ale ne o hráče ;)

EDIT: Pokud budeš dělat metody se závislostmi, jako to máš v tom druhém případě, předávej radši celý objekt, než jen ID. Kdybys pak kód testoval, můžeš jednoduše metodě podstrčit třeba nějaký mock místo objektu a taky je z API patrné, co metoda chce :)

Editováno 13.1.2013 17:22
 
Nahoru Odpovědět 13.1.2013 17:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.