MVC w konsoli

0

Czy MVC nadaje się do pisania programów konsolowych? Chcę napisać Snake i szukam sposobu by rozdzielić domenę aplikacji od rysowania widoków.

0

Nadaje się.

W M powinieneś mieć

  • planszę
  • węża z polami na których obecnie się znajduje
  • aktualny kierunek głowy
  • mechanizm przesuwania węża o krok
  • detekcję kolizji
  • jabłka (i zgniłe jabłka redukujące długość, czy co tam jeszcze chcesz mieć)
  • mechanizm zarządzania położeniem jabłek (i innych)
  • detekcję wzrostu (czyli kolizji z jabłkiem)

W VC powinieneś mieć:

  • rysowanie planszy
  • odbieranie komend od użytkownika i przesyłanie do modelu nowego kierunku głowy (lub w którą stronę wykonujemy zwrot)

Coś musi jeszcze odpalać kolejne kroki węża co określony czas. Generalnie umieściłbym to w M.

0

W zasadzie czemu by nie? MVC w przypadku aplikacji internetowych bardzo łatwo rozróżnić, ale w Twoim każdy komponent miałby nieco inne składowe. Model zamiast interakcji z bazą będzie odpowiadał za główną logikę programu, widok za wyrzucanie informacji na konsolę, a kontroler za poprawne działanie pozostałych części.
Niezależnie od tego czy to będzie "prawdziwy" MVC na pewno nie ma sensu upychać wszystkiego w aplikacji do jednego pliku i jednej klasy.

0
Pipes napisał(a):

Model zamiast interakcji z bazą będzie odpowiadał za główną logikę programu

Dlaczego zamiast? Model zawsze odpowiada za "główną logikę". I nigdzie nie ma wymogu, żeby zajmował się interakcją z bazą.

kontroler za poprawne działanie pozostałych części.

Nie wydziwiaj, kontroler w MVC zawsze odpowiada za obsługę inputu użytkownika.

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