![]() |
![]() ![]() |
![]() |
![]() ![]()
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: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Takich pytań jak Twoje przewijało się na forum już dużo.
Nie chcesz, nie pisz. Życie prędzej czy później samo ci wyjaśni "po co". -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 28.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
W tym problem, że chcę tylko jakoś nie widzę, co mi to daje...
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To skoro chcesz to zacznij to robić.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 28.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie zacząłem, ale tak mechaniczne. Wolałby jednak rozumieć po co robić klasy i obiekty, jak można to zrobić strukturalnie.
BTW Wyszukiwarka postów wywala błąd: Wystąpił bląd. Wróć i spróbuj ponownie. connection to localhost:3312 failed (errno=111, msg=Connection refused) Co jest nie tak? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
google -> programowanie obiektowe co daje
I ja tam znalazłem parę ciekawych informacji dla początkujących. Skoro "chcesz" to poszukaj wpierw trochę sam, a potem ewentualnie dopytuj o szczegóły. ps: tak, wyszukiwarka forum nie działa. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 5 Dołączył: 10.12.2011 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Łatwa rozbudowa, porządek, szybkość działania aplikacji, itd.
Samo OOP może Ci nie wiele wyjaśnić, ale w połączeniu z MVC dostrzeżesz korzyści. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Łatwa rozbudowa, porządek, szybkość działania aplikacji, itd. Łatwa rozbudowa owszem,porządek także ,ale z szybkością działania nie mogę się zgodzić.Czytałem trochę i kod napisyny strukturalnie jest wykonywany szybciej niż pisany obiektowo,choć pewnie różnice nie będą, aż tak widoczne dla normalnego użytkownika. A co sądzicie o takim sposobie-główny "szkielet"(silnik) aplikacji pisany strukturalnie.Rozbudowanie aplikacji o np.dodatkowe ficzery już pisane obiektowo. Ten post edytował Niktoś 4.04.2012, 10:26:16 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 86 Pomógł: 5 Dołączył: 10.12.2011 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Łatwa rozbudowa owszem,porządek także ,ale z szybkością działania nie mogę się zgodzić.Czytałem trochę i kod napisyny strukturalnie jest wykonywany szybciej niż pisany obiektowo,choć pewnie różnice nie będą, aż tak widoczne dla normalnego użytkownika. A co sądzicie o takim sposobie-główny "szkielet"(silnik) aplikacji pisany strukturalnie.Rozbudowanie aplikacji o np.dodatkowe ficzery już pisane obiektowo. Wiadomą sprawą jest, że przy prosty/ małych aplikacjach, kod strukturalny sprawdzi się lepiej i jego szybkość również będzie lepsza. Inaczej to wygląda przy dużych serwisach, z dużym ruchem. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Wiadomą sprawą jest, że przy prosty/ małych aplikacjach, kod strukturalny sprawdzi się lepiej i jego szybkość również będzie lepsza. Inaczej to wygląda przy dużych serwisach, z dużym ruchem. Wiadomo,że przy dużych aplikacjach się tego nie robi.Wyobrażasz sobie pewne moduły zamieszczone przykładowo w 10 klasach, sprowadzone do jednego pliku?Wyobraź sobie kod z 10tyś linijek i teraz wyszukaj w takim kodzie konkretną linijkę konkretnego modułu,aby coś poprawić.Wydaje mi się że i tak pisane strukturalnie by byłą szybsze niż pisane obiektowo(odchodzi czas dostępu i wczytywania zewnętrznego pliku),ale tego się nie robi ze względu na ewentualną konserwację,modernizacje i rozwój. Ten post edytował Niktoś 4.04.2012, 10:59:26 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Wyobraź sobie kod z 10tyś linijek i teraz wyszukaj w takim kodzie konkretną linijkę konkretnego modułu,aby coś poprawić.Wydaje mi się że i tak pisane strukturalnie by byłą szybsze niż pisane obiektowo(odchodzi czas dostępu i wczytywania zewnętrznego pliku) Gadasz teraz głupoty. Stwórz sobie plik php z kodem składającym się z 10 tys linijek a potem go odpal. Przekonasz się wówczas, że wczytywanie z plików tylko tego co potrzeba, jest o wiele wiele wiele razy wydajniejsze. ps: poza tym 10tys linijek to zajmuje wstęp do średniej wielkości aplikacji. W takich 100tys to już można coś napisać ![]()
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Gadasz teraz głupoty. Stwórz sobie plik php z kodem składającym się z 10 tys linijek a potem go odpal. Przekonasz się wówczas, że wczytywanie z plików tylko tego co potrzeba, jest o wiele wiele wiele razy wydajniejsze. Ale jak to robisz: Pierwszy sposób:
Drugi sposób: Cytat if(warunek1){ ............................. ......kod strukturalny........ ...................................... } else{ ........................................... ............kod strukturalny2.......... ............................................... } } Drugi sposób będzie szybszy,lecz mniej czytelny niż 1, gdyż od razu następuje wykonywanie kodu po określonym warunku.W pierwszym sposobie po spełnionym warunku następuje odczyt pliku z katalogu i egzekucja kodu. Cytat ps: poza tym 10tys linijek to zajmuje wstęp do średniej wielkości aplikacji. W takich 100tys to już można coś napisać Tylko wariat pisałby taką aplikację strukturalnie ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Widzę nie zrozumiałeś.... o wykonanie tego co prosiłem już nie wspominam...
Kod, który ma 10tys linijek w jednym pliku jest wolniejszy od wczytania kilka plików z kodem, który akurat teraz potrzebujemy. Jest wolniejszy i zżera o wiele więcej pamięci. Gdy tego kodu będzie jeszcze więcej, to aplikacja ci w ogóle padnie. Paniał? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Kod, który ma 10tys linijek w jednym pliku jest wolniejszy od wczytania kilka plików z kodem, który akurat teraz potrzebujemy. W pełni się z tobą zgadzam ,ty mówisz o czasie dostępu do pliku i będzie on dużo większy niż rozbijając to na wiele plików,gdyż sam rozmiar pliku jest większy,wzrośnie też zużycie zasobów,ale ja mówiłem o egzekwowaniu samego kodu. Dajmy na to został już wczytany plik z 10tyś linijek(będzie to trwało dłużej,zużycie pamięci większe),ale wykonanie już kodu w tym pliku będzie trwało krócej,gdyż brak już jest jakichkolwiek odwołań do zewnętrznych plików,które także zawierają jakiś tam kod. Ja się staram pisząc u siebie nie przekraczać 2tyś linijek,tak aby to jeszcze ogarnąć ,resztę pakuję w klasy. Ten post edytował Niktoś 4.04.2012, 12:26:32 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ale wykonanie kodu to też jego wczytanie i sparsowanie. Wiec dla dużych plików aplikacja tak czy siak będzie działała wolniej. Wiec wniosek jeden: robijać na pliki niezależnie czy piszesz obiektowo czy strukturalnie.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Ale wykonanie kodu to też jego wczytanie i sparsowanie. Wiec dla dużych plików aplikacja tak czy siak będzie działała wolniej. Wiec wniosek jeden: robijać na pliki niezależnie czy piszesz obiektowo czy strukturalnie. Zgadzam się ,ciekawe jak to się ima do języków kompilowanych,gdzie kompilacja następuje tylko raz. Ten post edytował Niktoś 4.04.2012, 12:36:25 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zgadzam się ,ciekawe jak to się ima do języków kompilowanych,gdzie kompilacja następuje tylko raz. Zależy od języka, może być różnie np. z Javą, C# bo one kompilują do kodu, który rozumie ich maszyna, co innego C/C++ etc. Ale i tak wątpię, że ma to jakiekolwiek znaczenie, kompilujesz raz. ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zgadzam się ,ciekawe jak to się ima do języków kompilowanych,gdzie kompilacja następuje tylko raz. Nie ma różnicy w językach natywnie kompilowanych, czy kod będzie w jednym pliku, czy w wielu. Edit: Oczywiście miałem na myśli tylko szybkość wykonania ![]() Ten post edytował redeemer 4.04.2012, 12:54:44 -------------------- |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 25 Dołączył: 28.09.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
a ja bym powiedział tak jeden z kolegów wyżej, żeby spróbował mvc np. jakiś framework
bo faktycznie może się wydawać że równie dobrze mogą być zwykle funkcje pisane strukturalnie, jak i metody klasy i niczym się nie różni - dobry przykład podstawą ![]() |
|
|
![]()
Post
#20
|
|
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 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 20:36 |