![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Wygrzebałem stary kod strony pisany strukturalnie, ciurkiem jak kto woli. Nie jestem orłem w programowaniu obiektowym, ale czas się nauczyć ![]() Mam różne funkcje pobierające dane z bazy i wyświetlające na stronie. Np. pobierzKsiazke(id), która pobiera dane książki z bazy. Do tego są funkcje edytujące dane książki, kasujące książkę, pobierające i wyświetlające listy książek itp. Jak to teraz ugryźć z obiektowego punktu widzenia? Jak powinna mniej więcej wyglądać poprawna klasa i co w niej umieścić? Czy zrobić klasę Ksiazka zawierającą metody pobierzDane, edytujDane, usunKsiazke, czy jakoś inaczej? Co zrobić z listą książek, która pobiera dane wielu książek i je wyświetla? Czy dodać do do klasy Ksiazka, czy zrobić nową klasę np. ListaKsiazek? Nie chodzi mi o gotowy kod, tylko o sposób myślenia, jak najlepiej to zorganizować. -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Na początek: http://pl.wikipedia.org/wiki/Zasada_jednej_odpowiedzialności
1. Obiekt klasy Książka reprezentuje książkę i tyle. 2. Obiekt klasy ListaKsiążek reprezentuje kolekcję obiektów typu Książka (prawdopodobnie wystarczy Ci jedna klasa na wszystkie kolekcje (książek, samochodów, butów itp.). 3. Obiekt klasy MenadżerKsiążek który pozwala zapisać, usunąć czy zaktualizować konkretną książkę. 4. Jeszcze jakiś obiekt (czy nawet zestaw obiektów) pozwalających pobierać (tutaj z bazy danych) książki. Hint: Google i Data Mapper pattern, Doctrine2. Ten post edytował Crozin 9.01.2011, 20:24:59 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Zrób klasę podstawową do operacji na bazie danych, insert(), delete(), update(), fetch() do których dane będziesz przekazywał w postaci tablicy, przy tworzeniu "książki" przekazujesz instancję połączenia do konstruktora, metody nazywasz jak chcesz. Kolekcje możesz sobie na początku darować
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:23 |