Aplikacja WinForms, zapisywanie danych w klasie

0

Cześć,
tworzę za pomocą WinForms dość prostą aplikację. Mam w niej kilka klas zawierających zestawy danych (string) oraz klasę zawierającą listy obiektów tych wszystkich klas.
W głównej formie mam dla każdej klasy osobny DataGridView, który pobiera dane z odpowiedniej listy. Dlatego w głównej formie tworzę obiekt tej klasy, która zawiera listy i do tego momentu wszystko jest ok, ale do każdej listy mam button "Dodaj" otwierający nowy formularz, który umożlwia wpisanie danych i zapisanie ich (powinien dodać się nowy obiekt do listy). Problem polega na tym, że nie wiem jak zrobić, aby wszystkie formy dodawały nowe obiekty do dokładnie tych list, z których korzysta główna forma.

0

Przekaż listę formie jako parametr konstruktora.

0

Albo lepiej odseparuj dane od GUI i nie trzymaj ich w okienkach, tylko w oddzielonych obiektach. Nawet jeśli to będzie klasa statyczna, to i tak będzie 100 razy lepiej niż mieszać z kodem GUI.

0

Dzięki za odpowiedzi.

somekind napisał(a):

Albo lepiej odseparuj dane od GUI i nie trzymaj ich w okienkach, tylko w oddzielonych obiektach. Nawet jeśli to będzie klasa statyczna, to i tak będzie 100 razy lepiej niż mieszać z kodem GUI.

Czyli powinienem utworzyć klasę statyczną i w niej stworzyć obiekt klasy z danymi? Wtedy metody i tak będą wywoływane w okienkach, czy jeszcze jest jakiś lepszy sposób?

0

Są lepsze sposoby, np. wzorzec Model View Presenter, który pozwala na bardzo ładne odseparowanie wyświetlania danych od ich przetwarzania i przechowywania. Ale na początek warto zrobić to jakkolwiek, nawet tą nieszczęsną klasą statyczną niż przekazywać jakieś obiekty danych biznesowych z okienka do okienka.
Potem jakoś naturalnie to może wyewoluować do czegoś lepszego.

0

Możesz zastasować wzorzec fabryka abstrakcyjna.

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