Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Konstrukcja obiektów, jakie podejście dla obiektów o wielu właściwościach
athabus
post
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,

zastanawiam się jak inicjować obiekty o wielu właściwościach. Dajmy na to mam produkt, który posiada 20 własności takich jak cena, nazwa, kategoria, marka itd itp.

Czy lepiej przekazać dużą tablicę asocjacyjną do konstruktora, czy zainicjować pusty obiekt i potem wywołać serię poleceń typu $produtk->setName() itd.

A może jest jeszcze jakiś inny patent?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
athabus
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


batman - też wydaje mi się, że przy dużych obiektach druga metoda jest lepsza. Stosowałem tablice, ale w gotowych rozwiązaniach widać jednak tendencję -> utwórz pusty/początkowy obiekt i następnie uzupełnij go parametrami. Chyba spróbuję stosować to rozwiązanie w przyszłości. Co prawda wymaga to pamiętania co trzeba "dodać" do obiektu, ale chyba jest to wygodniejsze niż stosowanie megatablic gdzie łatwo o pomyłki, które później trudno wyszukać. W obu przypadkach na pewno i tak trzeba zrobić metodę testującą poprawność obiektu

Nie wiem czy masz dokładnie to co ja na myśli, ale chyba najwygodniej będzie utworzyć kilka metod typu setPrice itd. Raczej nie będę korzystał z metody __set - jeśli chodzi o dane konfiguracyjne, to wolę mieć wszystko jawnie podeklarowane, z odpowiednimi metodami wymuszającymi odpowiednie typu parametrów itp. Przy wielu parametrach do ustawienia __set staje się bardzo nieczytelnym rozwiązaniem - ale to tylko moja opinia. Pozatym jawna deklaracja metod dostępowych daje możliwość podpowiadania składni w edytorze - nie wiem jak wy, ale ja z moją sklerozą bardzo cenię sobie ten feature (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Jakby ktoś jeszcze miał ciekawe sugestie to chętnie wysłucham.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 10:24