Jak utworzyć pojedynczy obiekt klasy z którego mogą korzystać inne

0

Mam kilka klas i chciałbym aby wszystkie utworzone obiekty tych klas korzystały z tego samego obiektu jakiejś klasy bazowej, a nie tworzyć za każdym razem nowej instancji obiektu bazowego. Mógłby mi ktoś doradzić jak to zrobić?

0

Mają korzystać z tego samego obiektu? Wyjaśnisz, co rozumiesz przez korzystać z obiektu klasy bazowej?

Zależnie od tego co przez to rozumiesz możesz na przykład stworzyć kompozycję w tych "kilku klasach", umieszczasz tam wskaźnik do obiektu którego chcesz używać, a w konstruktorze podpinasz swój obiekt.

Jeśli jestem w błędzie to proszę o poprawkę.

0

prawdopodobnie chodzi o (anty?)wzorzec Singleton
ewentualnie Monostate
ewentualnie zwykłą klasę statyczną
albo o dependency injection

poczytaj i wybierz sobie rozwiązanie które Ci pasuje

0

Na samym początku właśnie myślałem o klasie statycznej. Ogólnie chodzi o to by wszystkie inne obiekty korzystały z tego samego obieku "bazowego". Przykładowo np. mam klasę Connection, gdzie tworzę obiekt tylko raz, z zadanym IP, portem itd. I wszystkie inne obiekty które chciałyby się podłączyć do tego serwera będą wykorzystwać ten sam obiekt, bez potrzeby tworzenia nowych jego instancji.

0

Zły pomysł. w aplikacji wcale niw musi występować jedbo połączenie z jedną bazą.

0

po prostu przekazuj połączenie - aplikacja powinna być tak zaprojektowana że niewiele obiektów ma styczność z bazą danych bezpośrednio - w związku z tym przekazywanie połączenia nie powinno mieć miejsca zbyt często

na początku może się wydawać dobrym pomysłem żeby połączenie było "globalne", ale nagle może się okazać że potrzebujesz drugiego połączenia i kod musisz zmieniać w tysiącach różnych miejsc - wydaje się to mało prawdopodobne, a jednak osobiście mnie to spotkało

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