Witam, chciałbym odpowiednio zaprojektować klasy dla własnego formatu wiadomości tak, aby można było w elastyczny sposób je rozbudowywać i wygodnie tworzyć obiekty reprezentujące konkretne wiadomości. Nie mam niestety doświadczenia jeżeli chodzi o wzorce projektowe i związane z nimi koncepcje, które zapewne będzie trzeba wykorzystać, aby utworzyć logiczną strukturę klas.
Format wiadomości: w załączniku.
Krótki opis: Każda wiadomość składa się z nagłówka (elementy od priority do pierwszego checksum) oraz części właściwej (klucz, część przeznaczona dla konkretnej usługi oraz druga checksuma). Wiadomość usługi A część przeznaczoną do wykorzystania przez usługę (w części właściwej) odpowiednio organizuje (typ wiadomości, zawartość). Usługa A może utworzyć 4 typy wiadomości, które specyfikują pole zawartości.
Potrzebuje takiej struktury klas, abym mógł np. rozszerzyć w prosty sposób funkcjonalność usługi A o nowe typy wiadomości oraz w prosty sposób zbudować dany typ wiadomości (np. funkcja zbuduj wiadomość 1 usługi A). Sporo nad tym myślałem, ale niestety do niczego konkretnego nie doszedłem (pewnie ze względu na braki wiedzy, jeżeli chodzi o wzorce itp). Przykładowo jakoś to zorganizować aby: określić, że cześć właściwa wiadomości składa się z elementu 1, 2 i 3 (konkretnie jak wygląda element 2 ma być wyspecyfikowane przez daną usługę, która doprecyzowuje, że element 2 zawiera elementy x i y, natomiast konkretna wiadomość tej usługi dalej określa jaka jest szczegółowa struktura elementu y).