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%)
-----


Wg mnie nie chodzi o obiektówkę (którą ja sam olewam często i robię np. publiczne właściwości, bo tak mi wygodnie) a o:
- wzorce projektowe. Nie tylko MVC (o którym wszyscy wiedzą) czy singletony (które są mocno krytykowane) ale np. wzorzec obserwatora, odwrócenie kontroli, adapter, fasada itp. A wzorce obiektowe warto poznać, żeby być lepszym programistą (chociaż niekoniecznie trzeba wszystkich używać na siłę, bo to też błąd).

- decoupling ( bardzo ważne!!!!!!!!!!!!!!!!!!!!!!!!!!!!! niestety pisząc obiektowo można zapomnieć o decouplingu, a to sprawia, że psu na budę taka obiektówka, w zasadzie do wyrzucenia). Czyli uniezależnienie obiektów od innych obiektów, jednych klas od drugich, jednego modułu od drugiego modułu, jednej funkcji od drugiej funkcji. Dobrze zaprojektowany kod obiektowy powinien składać się z klocków, które można bez problemu wymienić na inne. Klasy i obiekty nie powinny być zbytnio sprzężone ze sobą (są wzorce projektowe które pomagają to osiągnąć).

- pragmatyzm - w niektórych podejściach klasyczne OOP się nie sprawdza, np. do małego projektu być może nie ma co się babrać w robienie klas, tylko walnąć parę funkcji, parę tablic i pojechać, bo tak będzie po prostu szybciej. Czasem też może być lepszy Data Driven Design, albo programowanie funkcyjne, które przeżywa ostatnio renesans. Obiektówka nie jest już taka cool jak jeszcze parę lat temu...

- ponowne wykorzystanie kodu (ale tutaj obiektówka nie ma nic do rzeczy. kod może być "obiektowy" a nie nadawać się do ponownego wykorzystania, a kod strukturalny może być dobrze zaprojektowany i służyć przez całe lata. Kwestia designu a nie tego czy ktoś napisze sobie słowo kluczowe "class"). Zresztą moim zdaniem istota programowania obiektowego to wcale nie klasy tylko zasada SOLID
http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 14:05