![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 2.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Mam wzór klasy z uzyciem wzorca Singleton:
Teraz chcialbym zeby przechowywala ona ustawienia aplikacji ktore pobieram z bazy danych (czyli inna klasa to pobiera). Ze wzgledu na poczatki z wzorcami projektowymi, pytanie jak przerobic ta klase zeby mozna bylo ja wywolac razem z danymi wejsciowymi. W konstruktorze, w getInstance ? czy moze utworzyc metode ktora bedzie zapisywala dane wejsciowe juz po utworzeniu instancji. Mysle ze wszystkimi sposobami daloby rade, ale ktory jest prawidlowy ? Wolalbym nie robic profanacji juz od poczatku ![]() Edit: chodzi mi tylko o podpowiedz "któredy" powinno sie wgrywac dane do klasy. Sam sobie napisze wszystko tylko któredy zrobic to zeby bylo prawidlowo. Ten post edytował karmelik 10.03.2015, 08:56:10 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
__construct
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 2.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Sporo mi z tym zeszło ale w koncu doszedlem, moze sie komus przyda:
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca.
Jeżeli to jest klasa stricte do configa to w samym konstruktorze powineneś zadbać o pobieranie danych. Co jak będziesz w 1000 miejscach używam Config::getinstance(); To co za każdym razem masz tam przekazywać konfiguracje? Bez sensu. Możesz co najwyżej przekazać obiekt który zajmie się importem konfiguracji do Singletonu, albo nawet nic nie przekazywać. Niech Singletn sam sobie pobierze dane jak chce. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 2.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie nie wiem jak to zrobić. Musiałbym zrobić tak:
czyli drugi raz wykorzystac klase do polaczenia i obslugi bazy danych, drugi raz ja zainicjowac. Ewentualnie stworzyc nowa klase tylko do pobierania ustawien ktora rozszerza klase do polaczenia bazy danych. Ewentualnie zrobic klase Database jako singleton i z niej korzystac ? Albo moze ja klonowac ? Nie wiem kurcze jak do tego podejsc zeby klasy same sobie radzily i nie inicjowac pare razy tych samych klas w innych klasach :/ dopiero poczatkuje w klasach i wzorcach projektowych :/ Podrzuc prosze jakies pomysly. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
To już Ci napisał Pyton_000
Więc jeszcze raz zacytuje Cytat w samym konstruktorze powineneś zadbać o pobieranie danych A nie w getInstance() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 13:23 |