![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Nie jestem pewien czy dobrze zrozumiałem Twój problem. Wydaje mi się, że potrzebujesz czegoś takiego:
1. Klasa produkt - ogólne info o produkcie. 2. Klasa cena - info o cenie (nieważne jaka cena - tylko netto, brutto, vat, itp) 3. Klasa paramatry - dodatkowe paramtry (tutaj możesz utworzyć tablicę: nazwa_parametru=>wartość) Jedynym problem pozostaje połączenei tych klas. Można określić klasę 1. jako klasę główną, po której dziedziczą pozostałe. Do tego w klasach 2, 3 i 4 zastosować wzorzec singleton (wówczas masz pewność, iż chodzi o ten sam obiekt). Rozwiązanie wydaje się być nawet dobre. Na chwilę obecną znajduję tylko jedno "ale". Co z pamięcią? Jeśli obiekt będzie duży (baaaardzo dużo parametrów, "niezdrowe iteracje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ", itp), wówczas może zabraknąć pamięci. (Sądzę jednak, że nie powinno być to problemem) Ten post edytował batman 6.10.2006, 00:14:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 03:46 |