wzorzec MVC - czy jest to niezbędnik w programowaniu?

0

Witam,

Jest to mój pierwszy wątek na tym forum i być może ostatni, bo od Waszych odpowiedzi w poruszonym tu przeze mnie temacie zapewne będzie zależało, czy dalej będę uczył się programować. Zabrzmiało poważnie, więc już opisuję, o co mi chodzi :)

Jakiś czas temu postanowiłem, że wezmę się za naukę programowania. Opanowałem po trochu html, css, javascript, proceduralny php i bazę mysql. Czułem się w tym na tyle biegle, by zrobić całkowicie od podstaw "po swojemu", dość rozbudowany portal z forum, przeglądarką zdjęć, w którym kolejne artykuły dodaję nie ręcznie do pliku html/php, ale do bazy danych poprzez przeznaczony do tego celu panel administracyjny. Wszystko ładnie, pięknie, całkiem fajnie pisze się kod, który później działa, aż do momentu, gdy z ciekawości przeglądając oferty pracy dla programistów aplikacji internetowych, wszędzie natykałem się na termin OOP. No to myślę - trzeba wskoczyć na kolejny etap "edukacji" i nauczyć się pisać kod obiektowy. I tutaj powstał przysłowiowy Zonk - jeśli programowanie obiektowe w php, to i wzorzec mvc, który jest chyba podstawą wszelkich działań w php, również w przypadku chęci późniejszej nauki jakiegoś frameworka, np. Symfony. Niestety - na chwilę obecną wydaje mi się ten etap nie do przebrnięcia. Dlaczego? Bo praktycznego wykorzystania zasad tego wzorca po prostu nie rozumiem. i tutaj powstaje pytanie do Forumowiczów: czy jest sens brnąć dalej w naukę programowania, gdy ma się problem ze zrozumieniem rzeczy wydaje się tak podstawowej jak wspomniany wzorzec? Bo ten brak zrozumienia nie świadczy raczej o predyspozycjach do programowania :( A jeśli jednak ten sens jest, to w którym kierunku pójść dalej?

Przepraszam za "wypracowanie" i czekam na konstruktywne wypowiedzi :) Dzięki!

1

Nie bardzo rozumiem czego nie rozumiesz w MVC ale generalnie aplikacje z UI nie pisane zgodnie z takim wzorcem (czy też MVP, MVVM etc) to zwykle kupa i za pisanie takiego kodu nikt ci nie zapłaci.

0
twentieth napisał(a):

Bo praktycznego wykorzystania zasad tego wzorca po prostu nie rozumiem.

Zrozumiesz jak będziesz pracował przy odpowiednio dużym projekcie.

1

MVC pozwala ci oddzielić warstwy widoku od logiki. Mając małą, własną aplikację, w której wiesz co się dzieje może się okazywać wszystko bez sensu i pewnie wydaje ci się, że to przerost formy nad treścią. Ale wyobraź sobie wielkie projekty. Dzięki takim wzorcom wiadomo, gdzie co się znajduje i nowe osoby, niezaznajomione z kodem, szybciej się odnajdą. Takie wzorce też pozwalają wymienić warstwy na inne. Mamy fajną apkę, logika działa i hej, możemy podmienić warstwę graficzną, bez wielkiej przebudowy wszystkich modułów.

Aha, i podejście typu "nie rozumiem, nie nadaje się do tego" jest bardzo złe. U mnie często się to odbywa. Wiem, że czegoś nie rozumiem, wówczas czytam jedno źródło, drugie, widzę praktycznie przykłady, sam zaczynam tego używać i gdy czytam o tym w momencie przejścia przez te wszystkie kroki, wówczas staje się to jasne.

3
twentieth napisał(a):

Niestety - na chwilę obecną wydaje mi się ten etap nie do przebrnięcia. Dlaczego? Bo praktycznego wykorzystania zasad tego wzorca po prostu nie rozumiem.

A w jaki sposób próbowałeś się go nauczyć?

i tutaj powstaje pytanie do Forumowiczów: czy jest sens brnąć dalej w naukę programowania, gdy ma się problem ze zrozumieniem rzeczy wydaje się tak podstawowej jak wspomniany wzorzec?

Nie. Trzeba się zatrzymać, i najpierw się tego nauczyć.

0

Nie. Trzeba się zatrzymać, i najpierw się tego nauczyć.

I tak też chyba zrobię.

0
stopa napisał(a):

MVC pozwala ci oddzielić warstwy widoku od logiki. Mając małą, własną aplikację, w której wiesz co się dzieje może się okazywać wszystko bez sensu i pewnie wydaje ci się, że to przerost formy nad treścią. Ale wyobraź sobie wielkie projekty. Dzięki takim wzorcom wiadomo, gdzie co się znajduje i nowe osoby, niezaznajomione z kodem, szybciej się odnajdą. Takie wzorce też pozwalają wymienić warstwy na inne. Mamy fajną apkę, logika działa i hej, możemy podmienić warstwę graficzną, bez wielkiej przebudowy wszystkich modułów.

Aha, i podejście typu "nie rozumiem, nie nadaje się do tego" jest bardzo złe. U mnie często się to odbywa. Wiem, że czegoś nie rozumiem, wówczas czytam jedno źródło, drugie, widzę praktycznie przykłady, sam zaczynam tego używać i gdy czytam o tym w momencie przejścia przez te wszystkie kroki, wówczas staje się to jasne.

Dzięki za wyczerpującą odpowiedź. Sens w tym jest, dlatego nie pozostaje mi nic innego, jak dalej szukać w necie jakichś przykładów i na nich próbować to wszystko ogarnąć.

0

Jeszcze jedno pytanie: czy moglibyście polecić jakąś stronę / książkę, gdzie mógłbym znaleźć jakiś ciekawy kod z objaśnieniami? Bo jak dla mnie wszystko, co znalazłem w necie jest albo banalnie proste, albo nazbyt skomplikowane, przez co po prostu nie mogę się połapać. Jeśli chodzi o książki, to mógłbym coś zakupić, jednak nie chciałbym tego robić w ciemno, dlatego zdaję się na Wasze sugestie. Z góry dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1