![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Na potrzeby pewnego projektu, zacząłem pisać system uploadu, donwloadu plików oraz w tym samym systemie tworzenie katalogów i ich przeglądanie, usuwanie katalogów i plików oraz inne pomniejsze funkcje. Chodzi o to, że nie wiem jak to dobrze ubrać w klasy i jak sobie proadzić z zależnościami pomiędzy nimi.
Do tej pory powstało mi kilka różnych klas, przykładowo: Path, Upload, Download, File, MimeTypes itp. Ogólnie, do tej pory działałem na jednej klasie głównej, która w konstruktorze brała jako swój patrametr tablicę z nazwami, i odpowiednie klasy były tworzone pod pola głównej klasy. Zrobiłem tak, żeby nie marnować zasobów, po co mi 6 klas, skoro korzystam tylko z jednej? Chcąc załadować nowa klasę, tworzę pole klasy głównej (FileSystem), i zapisuję nową instancje klasy do tego pola. W dalszej części sktyptu korzystam z nowej klasy, odnosząc się do odpowiedniego pola klasy głównej. Ale co zrobić, jak klasa Download będzie potrzebowała dostepu do metody lub właściwości klasy Path? W takim przypadku musiałbym tworzyć nowy obiekt (drugi) klasy Path by go wykorzystać w klasie Download - a drugi, bo pierwszy obiekt tej klasy został już utworzony w klasie głównej, i istnieje pod odpowiednim polem. Teraz pytanie: Jak to wszystko zgrabnie ogarnąć? Jak utworzyć odpowiednie zależności pomiędzy klasami? Zrobić główna klase, lub każdą, stosując singleton (chciałbym tego uniknąć)? Proszę o jakieś sugestie, ewentualnie linki lub, jeśli ktoś miał z podobnym problemem do czynienia - jakies wskazówki, jak to rozwiązać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 22:38 |