Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie czy klasa dziedziczy po innej, oraz czy implementuje dany interfejs a wydajność aplikacji., Czy wydajność powinna aplikacji być na pierwszym miejscu?
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Otóż, zastanawia mnie taka rzecz, mamy aplikację, w której stosujemy pewnego rodzaju moduły. Moduł składa się z jednego pliku PHP, w którym jest klasa. Klasa ta dziedziczy po ogólnej klasie (załóżmy: Module) oraz implementuje interfejs (ModuleInterface). Dziedziczy, by móc korzystać z dobrodziejstw aplikacji, na której działa, a implementuje, by każdy moduł posiadał jedno wspólne API, by aplikacja wiedziała, jak je uruchomić (moduły).

Teraz pytanie: Jeśli w aplikacji, modułów mamy przykładowo 20 (każdy z nich może być też wielokrotnie konkretyzowany), to czy za każdym razem sprawdzać, czy dany moduł implementuje dany interfejs oraz czy dziedziczy po danej klasie? Sprawdzanie za każdym razem kolejnej klasy będzie sprawiać obciążenie, w tym wypadku niepotrzebne (IMO). Jeśli programista nie użyje dziedziczenia, to sam zauważy, że coś mu nie działa, więc "podepnie" klasę do innej (w tym przypadku Module). A jeśli nie zaimplementuje interfejsu... no cóż, najprawdopodobniej wyskoczy błąd PHP, że nie ma takiej metody - jeśli defacto jej nie doda do klasy.

Jak bardzo należy trzymać się wydajności aplikacji, na rzecz sprawdzania tego typu rzeczy. I nie chodzi mi tylko o moduły, ale praktycznie każdą rzecz, która powinna posiadać dziedziczenie lub implementować jakiś interfejs.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adbacz
post
Post #2





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Ja rozumiem, ale musisz wziąć pod uwagę to, że każdy klient może pozwolić sobie na zakup nowego serwera - niektórzy mają już serwer, a na nim jedną czy dwie stronki i co teraz? Albo pozbywamy się klienta i mówimy "sorry, ale musi Pan kupić nowy serwer bo zrobiliśmy apliakcję, która wymaga XXX, a Pana serwer tego nie ma", albo próbujemy zrobić taką aplikację, która zadziała na 80% serwerów, ale nie będzie przy tym jej nic brakowało, co byśmy chcieli by miała.

No niestety, coś za coś. Już nie raz spotkałem się, że klient miał już wykupiony serwer współdzielony, ale w takiej tragicznej firmie, że aplikacja zadziałała tylko dla tego, że została napisana w pewien sposób. Hosting ten miał główną domenę przypisaną na stałe do serwera do głównego katalogu, i nie dało się tego zmienić. A klient miał tam jeszcze 2 inne strony, a my mieliśmy mu odświeżyć właśnie tą, która przypisana była do głównej domeny.

Czasami się czegoś nie da przeskoczyć, lub zastosować, ale nie oznacza to, że musimy olewać wszystko i robić tak jak chcemy i nakazywać ludziom naszych poglądów. To my mamy zrobić tak, by mieć klientów, a nie na odwrót. Oczywiście nie wspominam tutaj o kwestiach bezpieczeństwa czy użyteczności - to temat na zupełnie inną rozmowę.

PS.
Zgadzam się z Tobą w 100% jeśli chodzi o przytoczony przykład. Tak samo bym postąpił, gdyby ktoś kazał mi pisać pod PHP5.2.

Ten post edytował adbacz 22.06.2014, 16:55:02
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: 10.10.2025 - 05:54