![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 2.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam następujący kod:
Klasa Page(jak i inne klasy np. News, Faq) dziedziczy po Content obsługę pobierania z bazy, uploadu nowych zdjęć, plików i załączników. W każdym module strona|aktualności|faq będzie można do treści strony dodać zdjęcia w galerii, załączniki i filmy, więc chce ograniczyc ilość kodu odpowiadającego za te czynności. Dodatkowo poprzez interfejs chce wskazać jakie wymagane przez moduł metody muszą znajdować się w klasie - tworzenie nowego modułu przez drugiego programistę. Nie jestem pewien czy ta konstrukcja jest poprawna. Mógłby ktoś zerknąć. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
W tym konkretnym przypadku ja bym umieścił metodę get_content_list() jako metodę abstrakcyjną w klasie abstrakcyjnej Content.
Ten kod jest... nieaktywny, bo użytkownik musi ręcznie zadeklarować, że implementuje interfejs ContentInterface. Co jeśli tego nie zrobi? Otóż nic - kod zadziała (i gdzieś tam dalej się wysypie). Ewentualnie, jeśli zależy Ci na tym, aby interfejs pozostał jako osobny byt, proponuję następującą modyfikację
Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 10:25 |