Dobra praktyka przesyłania danych między formami.

0

Cześć,

Piszę aplikacje WinForms, w której mam różne formy, z których muszę niektóre dane przesyłać do głównego forma. Moje pytanie brzmi, w jaki sposób robić to poprawnie, w sensie czystości kodu. Mogę robić dostęp do formów w kodzie i przesyłać dane w postaci zmiennych. Tylko czy to jest dobra praktyka, że z każdego forma mogę dostać się do głównego ?
Czy zastosować plik, bazę danych? W jaki sposób wy w swojej zawodowej praktyce rozwiązujecie takie rzeczy? (Ja nie piszę zawodowo).

Pozdrawiam

2

Plik? Baza? Nigdy w życiu do czegoś takiego. Nawet IPC to za dużo i nie w tym kierunku. Wyobraź sobie, że zmieniasz sobie nazwisko, idziesz z tym do okienka urzędu (jak by nie patrzeć jest to rodzaj interfejsu komunikacyjnego) i informujesz o zmianie, urzędnik propaguje to gdzieś dalej, Ciebie to nie obchodzi co się tam dalej dzieje, spełniłeś wszystkie wymagane formalności. Użycie plików wygląda w tym przykładzie tak, jakbyś zmienił sobie nazwisko, informację o tym przykleił na latarni, a tymczasem urzędnik, który tą zmianę ma zalegalizować od pięciu lat codziennie rano idąc do pracy nadkłada 2km drogi, żeby przejść obok tej latarni i zerknąć, czy przypadkiem nie zmieniasz nazwiska.
Klasa obsługująca dane okno powinna implementować interfejs (jakiś urzędnik - celowo jakiś, bo zalecam użycie interfejsu, który uniezależnia nas od konkretnego urzędnika - czyli konkretnej klasy implementującej daną funkcjonalność, nas interesuje tylko, że w okienku od zmian nazwiska jest urzędnik), który pozwala na informowanie (okienko urzędnika) jej o zmianach w pewnych danych. Nie powinna odsłaniać publicznie swoich własnych danych (urzędnik nie wpuszcza nikogo na zaplecze).
Samą komunikację możesz zrobić na eventach i Message Bus/Service Bus, ewentualnie jakiejś prostszej namiastce tego.

4
Luki91 napisał(a):

Tylko czy to jest dobra praktyka, że z każdego forma mogę dostać się do głównego ?

To bardzo zła praktyka, logika biznesowa nie powinna operować na formach tylko na interfejsach.
Zainteresuj się wzorcem Model - View - Presenter.

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