![]() |
![]() |
![]()
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ć:
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 |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 02:37 |