![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 15.07.2004 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Jestem trochę początkujący w oop i nie wiem jak się nazywa to co mamy z ... pokaże to na kodzie
i chodzi mi o to co mamy w zmiennej $klasa. Będę TO nazywał "odnośnikiem" (do czasu aż Wy mi nie powiecie ![]() Mam taki teoretyczny problem. Załóżmy że posiadam klasę MODULES. Modules na początku programu odpala klasę DB i przechowuje "odnośnik" do niej. Jeżeli w klasie newsów chciałbym użyć DB to wywołuje metodę klasy MODULES np: get('nazwa modułu') i ona zwraca mi "odnośnik" do odpowiedniej klasy a jak jej nie ma to ją odpala (czyli coś jak Singleton - jak się myle to poprawcie) I teraz rodzi się pytanie: W jaki sposób dostarczyć każdej klasie "odnośnik" do klasy MODULES tak aby było to "obiektowo". -------------------- notDevBlog - devblog.luinnar.com
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 8.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie "odnośnik" tylko obiekt klasy X.
Możesz przekazać w konstruktorze lub np. stworzyć osobną metodę setModule(), czy coś podobnego. Tak w ogóle to poczytaj sobie o OO ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 15.07.2004 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Cytat(chmolu @ 2005-08-25 15:27:46) Tak w ogóle to poczytaj sobie o OO ![]() Troche czytałem (mam książkę do php i w wortalu jest artykuł) O przekazywaniu w konstruktorze też myślałem ale wydawało mi się to "mało eleganckie" rozwiązanie. Mógłbyś coś więcej powiedzieć o tej metodzie (setModule) -------------------- notDevBlog - devblog.luinnar.com
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Przy niekorzystaniu z singletona przekazywanie via konstruktor to rozwiązanie zdecydowanie najlepsze.
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 8.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Poza tym, kod najeżony Singletonami śmierdzi.
http://c2.com/cgi/wiki?SingletonPattern http://c2.com/cgi/wiki?SingletonsAreEvil |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 15.07.2004 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Ok.
Narodziło mi się nowe pytanie. Jak przez klase module odpalić inną klase która potrzebuje jakiś danych do konstruktora EDIT: Udało mi się to rozwiązać samemu - przesyłam dane w postaci tablicy. Dziękuje wszystkim za pomoc. Wybrałem przekazywanie obiektu przez konstruktor i działa! Ten post edytował luinnar 26.08.2005, 11:12:19 -------------------- notDevBlog - devblog.luinnar.com
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:46 |