Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie klas, przesiadka z kodu sktrukturalnego
MalyKazio
post
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ć smile.gif
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ą"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Crozin
post
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
Go to the top of the page
+Quote Post
zend
post
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ć mellow.gif Proponuję też angielską nomentkaturę. To tak w duużym skrócie happy.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:23