Implementacja MVC.

0

Idee chyba rozumiem, ale mam problem z implementacją widoku.

Dajmy na to, że funkcjonalność programu będzie się opierała na trzech przyciskach i każdy przycisk wyświetla okno z jakąś tam zawartością, którą kontroler przekaże z modelu.

I interfejs widoku wymyśliłem taki:

enum ActionType
    {
        Button1Action,
        Button2Action,
        Button3Action
    }

    interface IView
    {
        void Launch();
        void Dispose();
        void PinAction(ActionType type, Action action);
        void UnpinAction(Action action);
        void ShowMessage(string context);
    }

Na oko chyba będzie działać, ale jakbym miał większy program, to nie wiem jak bym sobie poradził.

Czy ja dobrze rozumuje? Tak to mniej więcej ma wyglądać?

0

Nikt się nie orientuje? Żadnej porady? : P

0

A po co w ogóle ten interfejs do widoku?

0

Tak programuję.

Już abstrahując od tego czy to jest interfejs, staram się tworzyć klasę orkiestra dla reprezentacji każdej warstwy.
Po prostu inaczej tego nie widzę. Dla mnie taka unifikacja jest ogromną wartością.

To złe podejście?
Coś czuję, że jakbym zaprojektował to jako pudełko z klockami, to by nie miało grubszej zalety i już bym wolał podpiąć model bezpośrednio w widok.

W internecie są przykłady jakiś kalkulatorów, ale wiadomo, że w takich małym projektach, to ciężko albo wychwycić koncepcje albo ją zaprezentować.
A jak radzisz to zbudować?

0

No ja nie widzę sensu w interfejsie dla widoku w MVC. A nawet jeśli go stworzyć, bo tak wymaga jakaś przyjęta architektura, to czemu ma mieć metodę Dispose? Albo czemu ma metody związane z przyjmowaniem jakichś poleceń od użytkownika jak PinAction i UnpinAction?

0

Tak zrozumiałem idee - kontroler jest pośrednikiem między modelem a widokiem.

Dispose jest po to, aby przy obsłużeniu nieobsługiwanego błędu zamknąć program; natomiast metody PinAction i UnpinAction są niezbędne do konfiguracji widoku z poziomu kontrolera.

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