Raczej połączenie z bazą powinno być jedno, co najwyżej przekazywane do innych klas przy pomocy mechanizmu dependency injection.
Nie wiem dokładnie, co Twój obiekt robi, ale zastanawia mnie, czemu jest używany w kilku różnych miejscach i czemu jakaś zmiana w sposobie wyciągania danych pociąga za sobą zmiany w tym obiekcie. Brzmi jak trochę zły podział odpowiedzialności w aplikacji. Ale trudno coś powiedzieć, bez konkretnego przykładu.