Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Co pisać OOP a co nie?
siurek22
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 2
Dołączył: 24.02.2008

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


Witam mam taki mały dylemat ponieważ do tej pory nie pisałem obiektowo i nie widzę jakoś zastosowań obiektowego.
Może mi ktoś opisać jakie klasy warto stworzyć budując cmsa bo mi jakoś wszystko pasuje strukturalnie...

Myślałem żeby zrobić księgę gości obiektowo aby zapoznać się z obiektowym ale jakoś nie widzę zastosowania w księdze dla oop co w takiej księdze można by zrobić obiektowego?
Czy opłaca się pisać klasę filtracji danych? Bo w wielu przypadkach wymagamy zupełnie innej filtracji...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
pedro84
post
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


1. http://pl.wikipedia.org/wiki/Filtracja
2. Na pewno poczytałeś odpowiednią ilość materiałów? Bo mnie się coś wydaje, że Ty w ogóle nie rozumiesz za bardzo co to jest programowanie obiektowe.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Programowanie obiektowe to pewien sposób myślenia o programie który piszesz. Możesz napisać wszystko "ciurkiem" i też będzie dobrze. Problem pojawia się w sytuacji, gdy musisz modyfikować kod - po prostu obiektowy jest bardziej elastyczny (ale można też skopać smile.gif ). To tylko niewielki aspekt, ale zawsze. Uważam, że powinieneś zobaczyć jak wykorzystywany jest ten paradygmat we frameworkach i przeczytać jakąś książkę (kursy w internecie są zbyt ubogie). To jest sporo wiedzy i ucząc się na wyrywki masz nikłe szanse na załapanie o co chodzi tak naprawdę smile.gif
Księga gości to trochę za mały program, lepiej napisz nieśmiertelnego bloga, bo tam już można zobaczyć jak obiekty ze sobą współpracują. Zresztą - bez gruntownej wiedzy o OOP nie masz wielkich szans pracę w małej nawet firmie.

Zobacz tu: http://www.symfony-project.org/gentle-intr...1_4/en/10-Forms
Przyjrzyj się listingom tam umieszczonym, a zwłaszcza jaki poziom abstrakcji prezentują.

Pozdrawiam


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
siurek22
post
Post #4





Grupa: Zarejestrowani
Postów: 62
Pomógł: 2
Dołączył: 24.02.2008

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


pedro84 nie pytam się jak pisać obiektowo bo już te definicje znam klasy, klasy abstrakcyjne, interfejsy itd. ale chodzi o praktyczne zastosowanie tego bo teoria a praktyka to dwie różne rzeczy a mając przykłady odnoszące się do rzeczywistych zagadnień o wiele upraszczają naukę...

Ten post edytował siurek22 12.07.2010, 20:38:30
Go to the top of the page
+Quote Post
matix
post
Post #5





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


JA uważam, że programowanie obiektowe to tylko inny sposób myślenia i inne spojrzenie na programowanie. Nie ma podziału na aplikacje, które tworzy się proceduralnie, a te które obiektowo. Aplikacja będzie działać tak samo (powinna, ale tak nie jest ze względu na to, że żaden profesjonalista nie będzie pisał wielkiej aplikacji bez frameworka, a przynajmniej OOP), jednak zmienia się sposób programowania - masz wszystko jasno opisane, podzielone na moduły, klasy, z których korzystasz kiedy jest potrzeba. W programowaniu proceduralnym, jak już pewnie wiesz, wszystko jest pisane z palca w momencie gdy jest potrzebne i kopiowane w każdym momencie, gdy zachodzi kolejna potrzeba użycia tego (przeciwko temu powstała zasada DRY).

Przykładowo proceduralnie aby filtrować dane piszesz przy dodawaniu loginu, treści, itp kawałek kodu (może nawet nie kawałek) aby filtrować każdy element z formularza. W programowaniu obiektowym metodą filtrującą tworzysz powiedzmy raz a jako argument podajesz dany input, który zostaje przefiltrowany. Funkcja napisana raz, wykorzystana N razy (zachowana zasada DRY).

To bardzo prosty przykład, ale jakoś za ciepło jest żeby wymyślać coś bardziej inteligentnego. Polecam Ci przeczytać książki o programowaniu obiektowym (nie takie które objaśniają co to klasa abstrakcyjna, bo nie wiele Ci to da) i ich praktycznym zastosowaniu (chociażby książka o tworzeniu sklepu internetowego, coś bardziej praktycznego w każdym razie), a na pewno zrozumiesz mniej więcej na jakiej zasadzie to działa i jakie są plusy tego, a zapewniam Cię, że są.

Pzdr. smile.gif


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post
-=Peter=-
post
Post #6





Grupa: Zarejestrowani
Postów: 304
Pomógł: 51
Dołączył: 4.02.2005
Skąd: Kraków

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


Cytat
W programowaniu proceduralnym, jak już pewnie wiesz, wszystko jest pisane z palca w momencie gdy jest potrzebne i kopiowane w każdym momencie, gdy zachodzi kolejna potrzeba użycia tego (przeciwko temu powstała zasada DRY).

Przykładowo proceduralnie aby filtrować dane piszesz przy dodawaniu loginu, treści, itp kawałek kodu (może nawet nie kawałek) aby filtrować każdy element z formularza. W programowaniu obiektowym metodą filtrującą tworzysz powiedzmy raz a jako argument podajesz dany input, który zostaje przefiltrowany. Funkcja napisana raz, wykorzystana N razy (zachowana zasada DRY).

Mylisz pojęcia, programowanie strukturalne równie dobrze może zachowywać zasadę DRY. W przytoczonym przykładzie piszesz prostą funkcję do filtrowania, którą wykorzystasz wiele razy - nie musisz przekopiowywać tego samego kodu n razy. Programowanie proceduralne jak sama nazwa wskazuje, opiera się na procedurach/funkcjach, a nie na copy & paste.

Powielanie kodu to całkowicie inna bajka, równie dobrze powielać można tworząc kod w paradygmacie OOP, aczkolwiek stosowanie obiektów jest środkiem do tego aby powtórzeń było mniej, co nie znaczy że zawsze tak jest.


--------------------
Go to the top of the page
+Quote Post
smentek
post
Post #7





Grupa: Zarejestrowani
Postów: 130
Pomógł: 11
Dołączył: 7.04.2003

Ostrzeżenie: (10%)
X----


Wszystko pisać OOP a nic nie pisac nie.


--------------------
.:SMENTEK:.
Go to the top of the page
+Quote Post
matix
post
Post #8





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Peter, może bezpośrednio nie ma DRY żadnego związku z OOP, ale pośrednio jak najbardziej tak. Przejrzyj proszę Cię parę aplikacji napisanych strukturalnie, a następnie obiektowo (najlepiej w frameworku) i wtedy będziesz miał zarys tego, o czym pisałem wyżej.

Robi się flame, bez sensu.


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post
Olgierd
post
Post #9





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.07.2010

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


Wyobraź sobie, iż masz zamiar taką księgę gości, zastosować w 50 stronach na tym samym serwerze, jeśli masz możliwość takiej konfiguracji że pewne elementy będą wspólne, to aktualizując coś dodając jakąś nową funkcjonalność robisz to po prostu w jednym miejscu. Księga gości może wykorzystywać klasy np. do połączeń z bazą danych, ale i inne twoje projekty mogą je wykorzystywać, poco się powtarzać, masz już taką klasę w jednym miejscu i tylko z niej korzystasz, nie powielasz kodu. Poza tym tak było w przeszłości i na pewno będzie iż jakieś funkcje zostają zamieniane lub pojawiają się nowe, zmieniasz wtedy w jednym miejscu i wszędzie działa. Takie przykłady można mnożyć.
Ja w przeszłości robiłem wszystko strukturalnie bo PHP po prostu tylko to oferowało, ale z czasem oferuje coraz więcej i dlaczego tego nie wykorzystywać.
Zobacz na http://www.phpclasses.org/ polecam bo tam można znaleźć szereg zastosowań OOP.
Go to the top of the page
+Quote Post

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: 19.08.2025 - 02:35