Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Programowanie obiektowe dla początkujących

Programowanie obiektowe? Dlaczego?

Kolejnym pytaniem, które zada sobie programista php, który już od dłuższego czasu z większym lub mniejszym powodzeniem pisze aplikacje strukturalnie, będzie "po co mam programować obiektowo jeśli już tyle czasu programowałem strukturalnie i jakoś sobie radzę?". Każdy człowiek powinien czerpać siły z powiedzenia "jeśli się nie rozwijasz, to się cofasz" - to jest najprostszy argument. Ale za programowaniem obiektowym stoi szereg bardziej istotnych plusów. Nie będę ich szczegółowo omawiał, ale wymienię niektóre z nich: kod programu jest łatwiejszy do czytania przez człowieka (czyli OOP to kolejny "poziom" programowania), elastyczność i łatwość rozbudowy aplikacji o nowe funkcjonalności, powtórne wykorzystanie kodu.

Zatrzymam się przy tej ostatniej zalecie, gdyż jest ona dwuznaczna. Z jednej strony powtórne wykorzystanie kodu umożliwia dziedziczenie, ale nie tylko o to chodzi. Dobrze zaprojektowana grupa klas, która jest odpowiedzialna za określone zadanie, może być z powodzeniem wykorzystana w całkowicie innym systemie bez żadnych modyfikacji. W podejściu strukturalnym ponowne wykorzystanie kodu polega na "kopiuj, wklej oraz przystosuj do nowych wymogów", prowadzi to do konieczności powtórnych testów, niejednokrotnie ten sam kod jest powielany w wielu miejscach aplikacji, co utrudnia ewentualną modyfikację tego fragmentu kodu (zmiana w jednym miejscu musi być naniesiona również w drugim, aby była zachowana synchronizacja).

Nie będę udowadniał wyższości OOP nad strukturą, gdyż nie to jest celem tego artykułu. Dla równowagi napiszę jeszcze o jednej (małej) wadzie podejścia obiektowego. Programowanie strukturalne w php jest wydajniejsze (zwłaszcza w php4), ale jednak nie na tyle aby ten aspekt przysłonił plusy OOP.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (3)
Błąd w przykładowym kodzie
Wtorek 16 Luty 2010 2:33:32 pm - mateo84 <mateo84_at_o2.pl>

Witam, próbowałem się zaznajomić z projektowaniem obiektowym w php i pozytywnie odbieram fakt, że komuś chce się pisać te wszystkie poradniki i tutoriale, tak jak ten. Ale niestety mam uwagę. 3. Modyfikacja dostępu w kodzie 4 (licząc od góry) metoda getName() nie wyświetla ani Reksio ani też Jamnik Reksio. Zapewne dlatego że gdzieś wypadałoby wpisać "echo". Jeżeli jest to zależne od konfiguracji serwera to przepraszam ja, ale jeżeli autor nie przetestował działania skryptu to coś tu jest nie "helloł".
Pozdrawiam :)

Za malo o istocie OOP
Niedziela 29 Marzec 2009 7:22:56 pm - seth

Brakuje mi w tym artykule opisu filozofii pisania obiektowego. To co w nim jest to tylko opis narzedzi ktore udostepnia PHP 5, a przeciez programowanie obiektowe to cos wiecej niz uzywanie slowek class, extend itp.

Jako, ze jest to tekst dla poczatkujacych brak wprowadzenia w istote OOP jest dla mnie bardzo duzym minusem.

Jezeli juz kogos chcemy uczyc obiektowki to zadbajmy o to aby wiedzial po co mu to do szczescia i jakie problemy rozwiazuje. W przeciwnym razie osoba taka dostaje do reki mlotek z instrukcja obslugi ale nie wie po co w ogole ma wbijac te gwozdzie.

Nie dla początkujących
Piątek 27 Marzec 2009 9:36:11 pm - orglee

Panie Piotrze posługuje się Pan bardzo hermetycznym językiem, opisując podstawy obiektówki. Nie wiem czy będąc początkującym zrozumiałbym więcej niż połowę z tego artykułu. Oprócz tego czasami wyprzedza Pana, Pańskie myślenie. Przykładem może być, użycie słów opisujących proces dziedziczenia, przed wytłumaczeniem istoty tego zagadnienia.

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2017 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System