![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Temat pewnie wam znany i stary jak swiat. Pisze sobie swoj cms starajac sie zrobic to obiektowo. Dotychczas przejrzalem i przeczytalem wiele artykulow dotyczacych OOP i robie sie coraz glupszy bo z tego co rozumie to zastosowan jest multum, tylko ktore to najlepsze. mam taka klase
Pierwsze pytanie : Czy klasa User powinna miec funkcje takie jak Loguj, Rejestruj, Edytuj, Zmien Haslo i czy te funckje powinny miec juz "hardcoded" zapytania do bazy wewnatrz, patrz funckja loguj();. Wywoluje ja tak:
Jezeli cos tego pokroju jest ok to spoko. Teraz np dopisalem sobie taka funkcje to tej samej klasy, ktora jak dla mnie moglaby byc w kazdej prawie innej klasie :
Dzieki tej funkcji lapie sobie wszystko z bazy i w prosty sposob moge wywolywac wszystkie kolumny :
Bardzo podoba mi sie mozliwosc poboru rekordow i nazw wierszy tabeli w tak prosty sposob. Teraz do rzeczy : Funckja ta jest w Users ale generalnie moglaby byc w prawie kazdej innej klasie, np Products, Articles itp. Czy mam utworzyc osobna klase z ta funckja z ktorej jakos beda kozystac wszyskie inne klasy ? Czy ma byc to w klasie bazy danych, czy moze w jakies jeszcze innej ? Prosze o odpowiedzi i wyrozumialosc (IMG:style_emoticons/default/smile.gif) Ten post edytował rahul 20.08.2011, 20:50:56 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem z jakiego ID korzystasz, ale mój podpowiada mi składnie jeżeli tak tworzę metody. Jest to jedno z rozwiązań. Co w przypadku kiedy ma się powiedzmy 50-70 pól w takim użytkowniku, to wtedy ma mieć 70 takich metod? Nie wiem, może mamy różne podejście, ale dla mnie jest to śmieszne i raczej nie przyjdzie dzień w którym takie coś popełnię.
To albo mu pozostaje magia, co raczej nie daje w żadnym IDE wsparcia, albo klepanie nowych metod jak tylko doda nowe pole. Tak się zastanawiam nad tym co piszesz, i w sumie jednak będę obstawiał przy swoim. W symfony 2 masz container który trzyma masę obiektów, i właśnie w taki sposób się je pobiera/dodaje. Można pobrać dane obiekty w setXXXService/getXXXService tyle że jest to magia i raczej w większości tego co widziałem w symfony, obiekty pobiera się get('xxx') i jak narazie jesteś pierwszą osobą która piszę że jest to złe rozwiązanie. Może i jest. Nie mniej, moje zdanie jest takie, że jest to lepsze, niż magia, czy klepanie za każdym razem nowych geterów/seterów, zwłaszcza w takim obiekcie jak DI. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 10:57 |