Wzorzec do odbieranych danych

0

Witam,
chcialem sie poradzic w jaki sposob najlepiej rozwiazac problem. Posiadam klienta ktory odbiera po sieci dane od serwera. Dane opakowalem w klase Message, gdyz protokol wyglada sklada sie z tych samych elementow [typ danych][dlugosc danych w bajtach][dane].
Obecnie odbieram dane, switch-case sprawdza mi typ informacji jakie otrzymuje i wykonuje wykonuje odpowiednia metode klasy klienta. Problem w tym, ze typow danych jest dosc duzo, rozrasta mi sie switch-case, niektore typy zawieraja podtypy i dochodza zagniezdzone switch-casy... malo to elastyczne ogolnie.
Chcialbym zaprojektowac to czytelniej, myslalem o stworzeniu fabryki dla klasy Message, ale brak mi doswiadczenia i nie do konca mi wychodzi. Problem w tym, ze rozne typy zwracaja mi roznego rodzaju dane. Przykladowo typ RAW_TEXT zwraca mi tablice znakow, typ COORDINATE podaje mi wspolrzedne x, y.
Bylbym bardzo wdzieczny gdyby ktos mial pomysl rozwiazania tego problemu.

0

Wzorzec strategii do obsługi danych. tu masz piękne opisy strategia vs case
http://ootips.org/strategy-vs-case.html
http://hoskinator.blogspot.com/2006/05/strategy-pattern-vs-case-statement.html

oraz refaktoryzacja z case do strategy:
http://devpinoy.org/blogs/suddenserenity/archive/2006/04/24/2834.aspx

0

Wlasnie o to mi chodzilo, wielkie dzieki :)

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