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ć (IMG:style_emoticons/default/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ć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
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

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 10:18