Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazywanie ustawień - klasa czy tablica?
zurek
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 4.09.2007
Skąd: Kraków

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


Witam
Posiadam abstrakcyjną klasę Wykres i dzieci tej klasy np. Wykres słupkowy, Wykres belkowy, Wykres liniowy itd. Teraz do utworzenia każdego z tych wykresów potrzebuję określonego zbioru opcji, z których tylko nieliczne być może będą wspólne dla wszystkich wykresów. Mój problem dotyczy wyboru jednego z rozwiązań sposobu dostarczenia tych opcji, które przyszły mi do głowy:
1. W każdej klasie zdefiniuję domyślną tablicę z ustawieniami, która będzie miała postać:
  1. $settings = array(
  2. 'chart' => array(
  3. 'background' => '#FFFFFF',
  4. 'marginTop' => 40
  5. ),
  6. 'values' => array(
  7. 'showValues' => TRUE
  8. )
  9. //... itd
  10. );

Edit: 2. Upakowanie wszystkich ustawień do osobnych zmiennych/tablic.
3. Napiszę abstrakcyjną klasę WykresUstawienia, która będzie zawierała wszystkie wspólne ustawienia oraz funkcje umożliwiające nimi zarządzanie oraz szereg klas, które będą dziedziczyły z tej klasy. Każdy wykres będzie miał osobną klasę ustawień.

Wydaje mi się, że pierwsze rozwiązanie jest lepsze i pisanie osobnych klas ustawień dla każdego rodzaju wykresu jest stratą czasu. Tak czy owak widziałem już parę różnych projektów na tym forum i pisanie osobnych klas ustawień wydaje się mieć jakiś sens (IMG:style_emoticons/default/smile.gif)

Proszę o pomoc w rozwiązaniu mojego małego problemu. Dzięki za pomoc.

Ten post edytował zurek 9.08.2012, 00:44:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@thek: Przecież to co pokazałeś ma dokładnie takie same wady/zalety co zwykła tablica.

Plusy użycia tablicy: pozornie szybszy czas na zrobienie tego.
Minusy użycia tablicy: jest to struktura dynamiczna, w przeciwieństwie do obiektu, który byłby strukturą statyczną. A jak powszechnie wiadomo dynamiczne struktury są mniej wygodne w użyciu, bardziej podatne na błędy, wymagają nieładnych "hacków" jeżeli chcemy wprowadzić jakąś kontrolę nad zawartością jaką przechowują/reprezentują.
Użycie obiektu niesie sporo korzyści przy niewielkich niedogodnościach typu kilka linijek kodu więcej*.

* chociaż akurat w większości przypadków dłuższy zapis czegoś nietrywialnego/niestandardowego jest lepszy - czytelniejszy i łatwiejszy w utrzymaniu.
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: 11.10.2025 - 02:37