![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 28.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Trochę piszę w php, ostatnio nawet zacząłem czytać o programowaniu obiektowym. Wszystko ładnie pięknie, rozumiem jak to działa, ale nie wiem po co mi to do szczęścia. Programuję strukturalnie i na razie nie widzę potrzeb pisania obiektowego: kodu nie udostępniam, bo piszę dla siebie albo do pracy, a tworzenie całej klasy aby stworzyć jeden obiekt wydaje mi się nieco zbędne. To tak jakbym dostał młotek wraz z instrukcją obsługi, ale nie wiem wogóle po co mam wbijać gwoździe.
Proszę o łopatologiczne wyjaśnienie "potrzeby wbijania gwoździ", czyli progamowania obiektowego. Ten post edytował Azek 4.04.2012, 09:35:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Proszę o łopatologiczne wyjaśnienie "potrzeby wbijania gwoździ", czyli progamowania obiektowego. - żadna poważna firma, która zna się na rzeczy, nie przyjmie Cie do pracy jak nie masz pojęcia o OOP. - żaden rozbudowany projekt (niech będzie 5k linijek) nie ma szans się rozwijać, gdy jest napisany strukturalnie, szczególnie gdy mają nad nim pracować więcej niż 2 osoby. - OOP jest po to min. żeby nie powielać 50razy tego samego kodu... np. chcesz pobrać treść newsa, piszesz: Cytat $o = new News; $o-> getNews('tytul'); zamiast całych funkcji łączenia z bazą. Do tego dochodzą loadery klas np. SPL które załadują plik z klasą wtedy gdy jest potrzebny... strukturalnie, jakoś nie bardzo to widzę. I najważniejsze, chcesz zmienić coś w pobieraniu newsa? zmianiasz tylko metodę getNews(); w 1 pliku, a nie tam gdzie zrobiłeś do niej odwołanie. Ten post edytował !*! 4.04.2012, 13:01:19 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 8 Dołączył: 5.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
- żaden rozbudowany projekt (niech będzie 5k linijek) nie ma szans się rozwijać, gdy jest napisany strukturalnie, szczególnie gdy mają nad nim pracować więcej niż 2 osoby. Słyszałeś o linuksie? Ma o wiele więcej niż 5k linijek, rozwija się i pracują nad nim więcej niż 2 osoby. - OOP jest po to min. żeby nie powielać 50razy tego samego kodu... A słyszałeś o funkcjach? Do tego dziedziczenie, wzorce i można sporo zaoszczędzić sobie czasu oraz ilości kodu który będziemy musieli nastukać. Chyba nigdy nie widziałeś kodu ludzi cierpiących na obiektofilie i wzorcologie, którzy wszędzie widzą dziedziczenie. Takie coś to dopiero cięzko rozbudować. Też kiedyś myślałem, tak mi się wydawało, i uważałem że to jest zbędne. A teraz średnio potrafię akceptować kod strukturalny, zwłaszcza takich średnich lotów ;) Ja mam to samo, tyle że z kodem obiektowym. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Słyszałeś o linuksie? Ma o wiele więcej niż 5k linijek, rozwija się i pracują nad nim więcej niż 2 osoby. To linux jest napisany w PHP? Strukturalnie? WOW. A słyszałeś o funkcjach? Słyszałem. Odpowiadają za wykonywanie małych czynności, do bardziej rozbudowanych używa się klas. Bo jakoś nie wyobrażam sobie np. odczytu pliku html przez funkcje odczytaj_html() a cokolwiek innego np. wczytaj tylko znaczniki z pliku x z funkcji znaczniki_html() jak mogę zrobić klasę
I nie ogranicza mnie kolizja nazewnictwa, w innych klasa też mogę użyć getCode(), a spróbuj coś takiego zrobić przy samych funkcjach. Cytat Chyba nigdy nie widziałeś kodu ludzi cierpiących na obiektofilie i wzorcologie, którzy wszędzie widzą dziedziczenie. Chodzi Ci o to że wszędzie to wykorzystują? Tak, też czasami śmiać mi się z tego chce (IMG:style_emoticons/default/biggrin.gif) Ten post edytował !*! 13.04.2012, 15:18:38 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 12:37 |