Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Programowanie obiektowe - jak się przekonać?
paramyksowiroza
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 10.10.2009

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


Mam prośbę. Czy ktoś mógłby przekonać mnie do programowania obiektowego? OK, jak muszę, to programuję obiektowo, ale strasznie tego nie lubię.

Tak naprawdę, nie znalazłam ani jednego argumentu przemawiającego za tym, że programowanie obiektowe jest LEPSZE.

Dlaczego obiektówka jest lepsza? Wciąż napotykam na opinie, że kod jest prostszy (dla człowieka), że bardziej elastyczny, że uporządkowany. Problem w tym, że ja tego nie widzę. Dlaczego jest prostszy? Jeśli mam plik z funkcjami, to sobie po prostu znajduję funkcję i edytuję. Nie muszę się grzebać w tych wszystkich klasach, szukać, skąd i co dziedziczy i co jest do czego. Co w tym elastycznego? Gdzie tu porządek?

Dziedziczenie? OK, to jest jakiś plus, ale raczej pod kątem ilości kodu, ale nie jego zrozumienia.

Jestem ze starej szkoły. Jak pewnie wielu z Was, moje początki były związane z językiem Quick Basic, Pascal, itp... Może, gdybym zaczynała od razu od podejścia obiektowego, łatwiej byłoby mi to zrozumieć.

Pomoże ktoś?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


Cytat
Ja raczej nie jestem ze starej szkoły, ale trochę czasu już bawię się w php - 2 lata. Nieraz miałem ataki chęci na napisanie czegoś obiektowo i po max godzinie prób i błędów zniechęcam się na kolejne x czasu.

myślę, że nie o to chodzi, żeby się zamykać na obiektówkę, bo to by była ignorancja/noobizm, tylko raczej żeby nie stawiać na piedestale OOP i nie myśleć, że obiektowe programowanie zawsze i wszędzie jest najlepsze, i że całkowicie wystarcza. Czasami warto mieszać paradygmaty, ja np. programując w takich językach jak JavaScript czy Python, programuję niby obiektowo, ale często poszczególne fragmenty piszę w paradygmacie funkcyjnym (nie mylić z proceduralnym!).

Cytat
Oczywiście naczytałem się teorii programowania obiektowego i rozumiem jego zalety i sens, ale po za aspektem finansowym - jak to napisał kolega wyżej wszędzie teraz wymagają oop i mvc, nie dostrzegam innej motywacji.

a wzorce projektowe? Zrozumienie tego, kiedy warto użyć jakiś wzorzec projektowy, a kiedy inny w sumie może oszczędzić dużo zachodu przy programowaniu - bo nie musisz za każdym razem wymyślać koła na nowo tylko od razu myślisz "o, podzielę kod na Model, Widok i Kontroler, a tu użyję obserwatora". Co prawda żeby użyć MVC nawet obiektówka nie jest potrzebna - ale mimo wszystko jak się czyta coś o wzorcach projektowych to wszystkie przykłady są na OOP, więc i tak łatwiej zrozumieć i zaimplementować w OOP.

Cytat
Jest w pełni preceduralny, ale pisze go tak, żeby był jak najlepiej poukładany i prosty do edycji. Niemalże wszystko składa się z dobrze napisanych funkcji i wcale nie ma ich tak wiele a strona jest dosyć skomplikowana.

a jakbyś chciał ten projekt podzielić na dwa mniejsze? nie wiem co piszesz, ale załóżmy że jakbyś pisał CMSa, na którym masz
- edycję i dodawania artykułów
- możliwość wysyłania wiadomości prywatnych
- panel do logowania
- forum
itp.
to czy jakbyś np. chciał zrobić drugi projekt, całkiem inny, ale np. chciałbyś, żeby w tym drugim projekcie była możliwość logowania i wysyłania wiadomości prywatnych -- to czy mógłbyś bez problemu bazując na kodzie pierwszego projektu, wydzielić kod odpowiedzialny za logowanie i wysyłanie PW -- a potem zaimportować go do drugiego projektu?

Chodzi mi o to, czy piszesz w sposób modularny - bo jeśli tak, to pewnie nie ma problemu.
Gorzej jak każdy projekt jest jednolitą masą - teoretycznie obiektówka ma temu zapobiegać, bo się dzieli kod na obiekty - ale w praktyce i tak może się zdarzyć, że kod obiektowy również będzie jednolitą masą splątanych ze sobą obiektów, których nie będzie się dało wyjąć z danej aplikacji. Wtedy byś tego kodu nie mógł łatwo wyciągnąć i nie mógłbyś go łatwo użyć w kolejnym projekcie.

Ten post edytował PrinceOfPersia 2.07.2013, 11:19:09
Go to the top of the page
+Quote Post

Posty w temacie
- paramyksowiroza   Programowanie obiektowe - jak się przekonać?   28.06.2013, 14:20:36
- - Wazniak96   4 podstawowe założenia programowania obiektowego T...   28.06.2013, 14:51:07
- - pain3hp   Powiedzmy, że programowanie obiektowe jest wyższym...   28.06.2013, 20:05:45
- - PrinceOfPersia   Wg mnie nie chodzi o obiektówkę (którą ja sam olew...   29.06.2013, 01:39:06
- - c1chy   Ja też jestem ze "starej szkoły" (zaczyn...   29.06.2013, 10:56:21
- - bpskiba   Doktor pieniążek przekonuje najskuteczniej Wszyst...   30.06.2013, 21:38:05
- - gitbejbe   dołączę się. Ja raczej nie jestem ze starej szkoł...   1.07.2013, 07:33:05
- - PrinceOfPersia   CytatJa raczej nie jestem ze starej szkoły, ale tr...   2.07.2013, 11:17:22
- - gitbejbe   @PrinceOfPersia Dzięki za odpowiedź : ) każde zda...   3.07.2013, 06:30:26
- - PrinceOfPersia   CytatA doczepiłem sie do tematu dlatego, że wszędz...   3.07.2013, 07:09:10
- - rtech.projekty.php   Odpowiedź jest prosta: nie rozumiesz lub nie używa...   3.07.2013, 08:44:23
- - !*!   @paramyksowiroza http://forum.php.pl/index.php?sho...   3.07.2013, 08:52:27
- - PrinceOfPersia   CytatPo prostu nie można zabronić przed używaniem ...   3.07.2013, 09:47:32
|- - rtech.projekty.php   Cytat(PrinceOfPersia @ 3.07.2013, 10:47...   3.07.2013, 12:58:40
- - kradam   Tworzyłem spore systemy wtedy, gdy OOP nie było je...   3.07.2013, 09:58:44
- - PrinceOfPersia   Cytattym bardziej jakąkolwiek hierarchię, no, zaró...   3.07.2013, 13:31:53
|- - rtech.projekty.php   Cytat(PrinceOfPersia @ 3.07.2013, 14:31...   4.07.2013, 08:04:39
- - Dejmien_85   Cytat(paramyksowiroza @ 28.06.2013, 15:20...   3.07.2013, 14:07:07
- - gitbejbe   @up pięknie <3   4.07.2013, 06:26:08
- - eurologo   Napisany klasy można wykorzystać w innych projekta...   6.09.2013, 16:57:01


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: 11.10.2025 - 15:44