Projektowanie obiektowe

Tutaj dyskutujemy o PHP oraz zgłaszamy i rozwiązujemy problemy dotyczące tego języka.
pablo663
Początkujący
Początkujący
Posty: 17
Dołączył(a): sobota, 10 września 2011, 09:45

Projektowanie obiektowe

Post przez pablo663 »

Witam serdecznie!


Mam jedno pytanie dotyczące PHP lub bardziej projektowania.

Php interesuję się już od jakiegoś czasu, zaczynałem "strukturalnie" z kursem z videokurs.pl. Nadszedł czas na OOP. Składnię i elementy tego paradygmatu już znam.

Niestety problem pojawia się jeśli zaczynam projektować nawet prostą aplikację.

Na początku wytłumaczę co zamierzam stworzyć.
Jest to serwis ogłoszeniowy działający na zasadzie:

- użytkownik rejestruje się w serwisie
- użytkownik loguje na swoje konto
- użytkownik ma możliwość dodawania/edycji/usunięcia ogłoszenia

- ogłoszenia należą do jednej z kilku kategorii (na początek są to tylko dwie kategorie: motoryzacja i nieruchomości)
- każde ogłoszenie jest powiązane z użytkownikiem który je dodał (w profilu będzie możliwość zobaczenia wszystkich ogłoszeń usera)

- użytkownicy mają możliwość oglądania ogłoszeń
- sortowania ogłoszeń według ceny, wyświetlenia ogłoszeń według województwa i według wybranych kategorii

Jak mogło by wyglądać zaprojektowanie takiej aplikacji w OOP w pseudoszablonie klas - coś w tym stylu:
Obrazek

Wiem że pomoc w tej sytuacji jest czasochłonna, więc przepraszam że o to proszę lecz było by mi to bardzo pomocne.

Z góry dziękuję za wszelką pomoc.

Pozdrawiam
pablo663
Początkujący
Początkujący
Posty: 17
Dołączył(a): sobota, 10 września 2011, 09:45

Re: Projektowanie obiektowe

Post przez pablo663 »

class User
----------------
name
password
city
email
--------------
+set_name
+get_name
+set_city
+get_city
+set_email
+get_email


--------------------------------------------------------------------------------------------------------------

class User_manager extends User
-------------------------------
+register
+login
+is_logged
+edit_user
--------------------------------------------------------------------------------------------------------------

class Ad (ogłoszenie)
-------------------
nazwa
opis
cena
------------------
__construct(){
$this->nazwa = $_POST['nazwa'];
$this->opis = $_POST['opis'];
itd
}
-----------------------------------------------------------------------------------------------------------------------------
class Moto_ad extends Ad
-----------------------------
marka
model
rocznik
przebieg
------------------------------
+add_ad
+edit_ad
+delete_ad
+get_by_cena($od,$do)
+get_by_wojewodztwo
itd
-------------------------------------------------------------------------------------------------------------------------------------------------
class Category
------------------------
name
-------------------------
+add_category
+edit_category
+delete_category


Coś takiego wymyśliłem narazie. Proszę o uwagi i poprawki
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Projektowanie obiektowe

Post przez Morfidon »

W class User możesz stworzyć tablice Ad, abyś mógł je gdzieś przechowywać po pobraniu.

W class Ad tablica categori, do których należy Ad.

class Ad prawdopodobnie może być abstrakcyjna.
pablo663
Początkujący
Początkujący
Posty: 17
Dołączył(a): sobota, 10 września 2011, 09:45

Re: Projektowanie obiektowe

Post przez pablo663 »

Dziękuje za odpowiedź
Post Reply