Połączenie z bazą danych, Udostępnienie objektu czy wywołanie w klasie? |
Połączenie z bazą danych, Udostępnienie objektu czy wywołanie w klasie? |
3.03.2016, 13:11:56
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 834 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Mam pytanie bo mnie nurtuje ostatnio, a nigdzie nie spotkałem jakiejś rzetelnej odpowiedzi, a chodzi mianowicie o korzystanie z połączenia z bazami danych w klasach i nie wiem które rozwiązanie jest lepsze. Poniżej przedstawiłem przykład.
I pytanie który z tych zapisów jest lepszy z perspektywy działania kodu, czy klasaA gdzie wykonuje się połączenie raz a potem udostępnia się obiekt do klas które wymagają takowego połączenia. [używam ten wzorzec] Czy lepiej wywoływać połączenie za każdym razem gdy wywołujemy daną klasę która wymaga połączenia z bazą?
Ten post edytował Tomplus 3.03.2016, 13:32:43 |
|
|
3.03.2016, 13:17:57
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Połączenie z BD jest zazwyczaj kosztowną operacją. Tworzenie nowego dla każdej klasy nie ma żadnego logicznego sensu. Przykład A to często używany DI.
-------------------- |
|
|
3.03.2016, 13:23:08
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Jeżeli potrzebujesz innego obiektu to dołączasz go przez DI, czyli wersja A. Ważny, powód to uniwersalność takiego rozwiązania. Nie musisz hardocodować konkretnego obiektu w kodzie. Z perspektywy działania kodu, są identyczne, tu i tu musisz utworzyć obiekt. Patrząc jednak na wzorce projektowe czy przejrzystość kodu, stosowana powszechnie jest wersja A.
|
|
|
3.03.2016, 15:27:04
Post
#4
|
|
Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) |
http://phpedia.pl/wiki/Singleton dla wersji PHP5, można zrobić to samo do połączenia z bazą danych, będziesz miał pewność że utworzone zostało tylko jedno połączenie z bazą danych.
-------------------- |
|
|
3.03.2016, 16:08:18
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) |
Nie wypowiem się osobiście, żeby nie rozpętać burzy, ale pamiętaj, że niektórzy uważają Singleton za antywzorzec. Ale to już sam musisz rozważyć wszelkie za i przeciw, których mnóstwo w sieci.
|
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 06:58 |