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ć ?