Warstwa prezentacji - dobór wzorca projektowego

0

Cześć !

Staramy się z kolegą napisać aplikację symulującą grę koła fortuny :-)

Zasady działania zostały zaimplementowane już w warstwie logiki, natomiast zastanawiamy się jak ugryźć prezentację, aby zrobić to dobrze.

I tutaj potrzebna mi Wasza rada mistrzowie :-)

Chcielibyśmy móc "output" prezentacyjny dołączać w postaci pliku dll. Stworzenie interfejsu do warstwy logiki, który pozwala uzyskać interesujące dane. Po stronie prezentacji jedynie dobrze korzystać z oferowanych danych. Dzięki temu jedna dll'ka miałaby chodź by testowe okno konsolowe, a druga ogromne UI napisane w WPFie. W ramach potrzeb użylibyśmy jednej, bądź drugiej. Ma to sens prawda ?

Postanowiliśmy ,że będzie to działać tak, że warstwa prezentacji posiada jakiś IDLE state ( np. wolno kręcące się koło ). Po wciśnięciu przycisku, rozpoczyna się animacja szybko kręcącego się koła , warstwa logiki zostaje odpytana o wyniki losowania ( pozycje zatrzymania koła ) i animacja się kończy jakimś tam wynikiem.

Jesteśmy raczej programistami niskopoziomowymi i strukturalnymi, ale walczymy o lepsze jutro.

Za nic w świecie nie mamy pomysłu jak to ugryźć, może wykorzystać któryś ze wzorców ? Nie wiemy jak architektonicznie do tego podejść, dobrze klasy zaprojektować które będą komunikować się z użytkownikiem oraz warstwą logiki.

Do tej pory ustaliliśmy, że animacja musi być uruchamiana na osobnym wątku. Uruchomiona będzie spokojnie działać w stanie IDLE. Dopiero po wciśnięciu przycisku przez użytkownika, nastąpi komunikacja między warstwą prezentacji a logiki, nastąpi pobranie potrzebnych danych i uruchomienie innej animacji w celu prezentacji wygranej.

Możecie nas naprowadzić jak to architektonicznie poprawnie wykonać ?

0

Możecie napisać nieco więcej o logice w waszej dll, co się w niej dzieje? Bo to ona chyba powinna wyznaczać co się wylosowało.

Inaczej rzecz biorąc - chcecie, by warstwa GUI tworzyła dane. Wydaje się to nieco dziwne w waszym przypadku, ale spoko. Tylko, że jeśli chcecie, by to GUI za pomocą sprawdzenia pozycji zatrzymania wysłało wam wynik, to jak to zrobicie z konsolą?

0

Cześć!

Sorki, musiałem rzeczywiście nieściśle napisać.
Oczywiście Twoje rozumowanie jest poprawne, i tak też mamy to zaimplementowane :)
Warstwa prezentacji może jedynie odpytać logikę o dane i je interpretować.

0

Nie rozumiem, strasznie mało odpisałeś i do tego nie odpowiedziałeś na pytanie.

Wedle tego, co napisałeś powyżej to warstwa logiki wyznacza to, co się wylosowało. Wobec czego w GUI nie robisz żadnego sprawdzania, odpytywania, tylko tak musisz zakręcić kółkiem, by wypadło to co chcesz.

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