Design pattern Builder - best practices – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Design pattern Builder - best practices – PHP – Fórum – Programujte.comDesign pattern Builder - best practices – PHP – Fórum – Programujte.com

 

honzacz0
Duch
22. 8. 2018   #1
-
0
-

Ahoj,

mám builder, který vytváří složitý objekt Request založený na datech z databáze.

Zajimalo by me co je víc správě, jestli mít v builderu nejaky accesor/repozitář na databázi a získávání dat provádet přímo v builderu, nebo data ziskavat mimo builder a setovat ho z venčí.

Díky za radu.

Nahlásit jako SPAM
IP: 81.19.10.–
Kit+14
Guru
22. 8. 2018   #2
-
0
-

#1 honzacz
Pokud do objektu chceš nacpat data z databáze, tak se snažíš udělat Active Record, který už nějak vyšel z módy. Sám ho také nepoužívám. Zkus prozkoumat Data Mapper, přes který se to dělá mnohem lépe.

Dodatek: Builder by vůbec neměl mít přístup k databázi, protože data mu předáváš prostřednictvím parametrů metod.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:30d5:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
honzacz0
Duch
23. 8. 2018   #3
-
0
-

#2 Kit
Chápu, díky za odpověď.

Poprosím ještě o další názor.

1. Co by mělo vytvářet builder a setovat parametry? Controller, nebo nějaká service?

2. Dále jestli by měl být builder/factory zaregistrovaná v DIC nebo vytvořená v kodu, až když ji potřebuji

Diky

Nahlásit jako SPAM
IP: 81.19.10.–
Kit+14
Guru
23. 8. 2018   #4
-
0
-

#3 honzacz
Manipulaci s daty provádí Model na příkaz, který mu pošle Controller. Model si to sestaví ze servisních služeb.

Záleží na tom, zda chceš mít závislosti podchyceny automaticky nebo ručně. Vzhledem k tomu, že DIC nepoužívám, preferuji ruční.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:30d5:...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
honzacz0
Duch
23. 8. 2018   #5
-
0
-

#4 Kit
Díky za rady ;)

Nahlásit jako SPAM
IP: 81.19.10.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

Podobná vlákna

Atribut pattern — založil Forest

C++ builder — založil Filip

Builder a MySQL — založil Michal Zak

Changelog Builder — založil w3q

Errror C++ Builder — založil Jozef

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý