![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem... Przeszukałem google pod podobnymi hasłami jak w temacie, lecz nie znalazłem odpowiedniego, działającego rozwiązania. A musi jakieś istnieć - chyba, że to co chcę zrobić, jest nieodpowiednie, lub istnieje owiele prostrzy spodób... Mianowicie, mam dwie klasy: SQL i UserData. Pierwsza z nich służy do obsługi bazy danych. Druga będzie miała za zadanie zbierać z tej bazy różnego rodzaju informacje i odpowiednio je łączyć. Klasę SQL wywołuję w taki sposób:
Baza łączy się w konstruktorze. Próbowałem dołączać klasę w argumencie, lecz to nic nie dało. W klasie Data pragnę odwoływać się do klasy SQL, ponieważ będę tam przeprowadzać wszelkie operacje oparte o dane użytkownika.
Jak zrobić coś tego typu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jakbyś pomagał uczyć się na błędach to byłoby OK, zamiast tego jedynie pchasz użytkownika w dalsze błędy.
Lepsze rozwiązania zostały już podane i nie widzę sensu pisać tego samego. A może do zainicjowanego obiektu klasy UserData przekazać obiekt klasy SQL? bo każda klasa powinna być odpowiedzialna na "jedną rzecz" (?). Co klasę UserData obchodzi połączenie do DB. 1. Ciebie nie interesuje wykorzystanie klasy w klasie, tylko obiektu w obiekcie. 2. Było już dosłownie dziesiątki razy na forum... zawsze kończyło się tym, że najlepszym rozwiązaniem, nie stwarzającym żadnych problemów i dającym jakieś korzyści z OOP jest IoC np. w realizacji przez dependency injection. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 09:02 |