Próbuję zaprojektować „główną” klasę bogatej aplikacji komputerowej opartej na platformie NetBeans 7. Ta aplikacja będzie korzystać z usług HTTP i poprzez „system push” przez TCP będzie otrzymywać wiadomości.
- Jesteśmy 3 programistami i chcemy równolegle opracowywać moduły
- Aplikacja będzie warstwowa (dane, biznes, prezentacja)
- Użyjemy modelu prezentacji w celu oddzielenia obszarów odpowiedzialności
- Niektóre dane granularne (na przykład Osoba fasoli) będą udostępniane przez kilka ekranów (i być może wyświetlane na kilku ekranach jednocześnie)
- ...
Jesteśmy w stanie opracować poszczególne ekrany, ale nie wiemy dokładnie, jak zorganizować całą aplikację i zdefiniować zawartość każdego modułu.
- Czy masz jakieś porady (wzór / najlepsza praktyka / książka / przykładowa aplikacja), aby koordynować / zarządzać interakcjami w obrębie całej aplikacji?
- Wszelkie porady dotyczące definiowania zawartości modułów?
Dzięki!
Mały przykład ilustrujący to, co chcę zbudować: Aplikacja do zarządzania użytkownikami Foo
- Uruchom aplikację
- Po lewej stronie [explorer] mamy listę platform (lista jest przechowywana w pliku lokalnym)
- U góry mamy przycisk, aby dodać nową platformę (dostępną również po kliknięciu prawym przyciskiem myszy)
- Klikając dwukrotnie platformę, aplikacja wywołuje usługę HTTP w celu pobrania pełnej listy użytkowników. Ta lista jest wyświetlana w [edytorze] (w JTable)
- Rozpoczyna się proces w tle: za pośrednictwem połączenia TCP otrzymujemy wiadomości
- Możliwe jest dodanie nowego użytkownika za pomocą przycisku na pasku narzędzi
Jeśli aplikacja zostanie uruchomiona na innym komputerze, a użytkownik jest podłączony do tej samej platformy, jej lista użytkowników będzie aktualizowana dynamicznie (dodaj / usuń / status: {offline / online}) (dzięki wiadomościom)
W przyszłości zostanie udostępniony moduł czatu.
Moje pytanie brzmi (innymi słowy): jakaś rada / najlepsza praktyka decydująca o treści każdego modułu? Jeśli PM (model prezentacji) to dobry sposób na oddzielenie widoku / firmy i danych i tworzenie ekranów, jaki jest najlepszy sposób na połączenie kilku ekranów na podstawie PM? Wyobraźmy sobie, że opracowujemy moduł czatu, jak dodać wpis „Dyskusja z ...” do menu kontekstowego dostępnego po kliknięciu prawym przyciskiem myszy na liście użytkowników?