Model-View-Controller prośba o wyjaśnienie

0

Cześć. Wiecie mam pewien problem. Dowiedziałem się nie dawno MVC (czyli Model-View-Controller). Nie wiem za bardzo jak to działa. czy mógłby mi pomóc i pokazać prosty przykład czegoś takiego?

Z góry dzięki

0

no ale w sieci jest tego masa po wpisaniu MVC

0

ale nie za bardzo po polsku

4

Wyglada tak:
user image

W pseudokodzie cos takiego:

// widok
@(cats: List[ViewModels.Cat])
<html>
<body>
  @for(c <- cats) {
     <h1>c.name</h1>
     <img src=@{c.imagedest}/>
  }
</body>
</html>

// kontroler
class CatController {
  def cats = View("kotki.html", catService.findAllCats());
}


// model
class CatService {
  def findAllCats =
    // odwolanie do bazy badz jakas inna logika...
}
0
MichałK123 napisał(a):

Cześć. Wiecie mam pewien problem. Dowiedziałem się nie dawno MVC (czyli Model-View-Controller). Nie wiem za bardzo jak to działa. czy mógłby mi pomóc i pokazać prosty przykład czegoś takiego?

Z góry dzięki

Przeczytaj sobie to:
http://lukasz-socha.pl/php/mvc-w-praktyce-–-tworzymy-system-artykulow-cz-1/

1

MVC to oddzielenie modelu (np tabela w bazie danych) , kontrolera - (steruje wywołaniami HTTP - dla każdego wywołania HTTP serwer uruchamia odpowiedni kontroler i akcję (poczytaj sobie co to jest CRUD) i widoku (dla konkretnego kontrolera i akcji mamy odpowiedni widok - czyli to co zostanie wysłane do przeglądarki a ona to wyświetli)

Tak w wielkim skrócie napiszę to na przykładzie Ruby on Rails

mamy kontroler o nazwie UsersController i tabele o nazwie User.

w kontrolerze jedna z akcji to index (będzie wyświetlać listę wszystkich userów
w tej akcji mamy:

UsersController < ApplicationController
  def index
    @users = User.all (pobiera nam wszystkich userów z tabeli User i przekazujemy do zmiennej @user)
  end
end

następnie w odpowiednim widoku dla tej konkretnej akcji i kontrolera

odbierzemy ten obiekt @user i wyświetlimy jakąś jego zmienną w postaci HTML np.

<%= <ul> %>
<% @users.each do |user| %>
<%= <li>user.name</li> %>
<% end %>
<%= </ul> %>

wyświetli nam listę z imionami wszystkich userów.

5
anonymous_dev napisał(a):

MVC to oddzielenie modelu (np tabela w bazie danych) , kontrolera - (steruje wywołaniami HTTP - dla każdego wywołania HTTP serwer uruchamia odpowiedni kontroler i akcję (poczytaj sobie co to jest CRUD) i widoku (dla konkretnego kontrolera i akcji mamy odpowiedni widok - czyli to co zostanie wysłane do przeglądarki a ona to wyświetli)

Chyba najgorsza definicja MVC z jaką się spotkałem. MVC to wzorzec projektowy warstwy prezentacji, jest abstrakcją daleką od specyficznych dla projektu, technologii oraz implementacji kwestii takich jak: HTTP, CRUD, tabele i serwerów. Można napisać kalkulator konsolowy w MVC i nadal będzie on MVC.

Tak w wielkim skrócie napiszę to na przykładzie Ruby on Rails

To chyba wszystko wyjaśnia.

0

Masz rację moja odpowiedź dotyczy tylko web w dodatku RoR to nie jest czysty MVC. Ale w podobny sposòb wytłumaczyłem łopatologicznie paru osobom i
załapały o co chodzi. Dokładne definicje zawsze można znaleźć w necie.

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