Aplikacja typu sklep internetowy

0

WItam tworzę aplikację coś na zasadzie allegro i mam takie pytanie. Mam klase Product oraz klasy które dziedziczą np Car, Computer. Czy to dobry pomysł by tak robić ? Bo wychodzi na to, że będę musiał robić setki modeli a potem pojawi się problem gdy będę chciał wrzucić wszystkie produkty do jednej listy by wyświetlić je. Pozdrawiam.

0

Co Ci daje to całe dziedziczenie tutaj?

2

To bardzo zły pomysł. Robisz klasę kategorii i tyle. Wiążesz produkty z kategoriami i tyle. Produkty mogą mieć typy i wtedy możesz pyknac jakieś rozszerzenie tej klasy, ale tylko na widoku produktu.

0
axelbest napisał(a):

To bardzo zły pomysł. Robisz klasę kategorii i tyle. Wiążesz produkty z kategoriami i tyle. Produkty mogą mieć typy i wtedy możesz pyknac jakieś rozszerzenie tej klasy, ale tylko na widoku produktu.

Jak to mniej więcej ma wyglądać bo za bardzo nie rozumiem?

0

Zamiast tworzyć tysiąc klas rozszerzających produkt. Zrób klase kategorii i niech produkty należą do jakiejś kategorii. Będziesz miał np w bazie 1000 kategorii i tylko jedna klasę (upraszczam) odpowiedzialna za nie. Potem tworzysz klase produkt, która powinna być powiązana z kategoriami (jeden do wiele, wiele do wielu... Jak uważasz). Klient przeglądając kategorie wystarczy że zobaczy standardowa klasę produktu (cena, fotka, nazwa, może fragment opisu), natomiast po wejściu na dany produkt możesz użyć klasy rozszerzającej dany produkt (np wg ww. Kategorii lub typu przedmiotu).

Nie wiem jak to inaczej opisać, ale mam wrażenie że nie wiesz za bardzo jak korzystać z dziedziczenia lub nie wiesz do czego ono służy

0
Szymon Ciamaga napisał(a):

WItam tworzę aplikację coś na zasadzie allegro i mam takie pytanie. Mam klase Product oraz klasy które dziedziczą np Car, Computer. Czy to dobry pomysł by tak robić ? Bo wychodzi na to, że będę musiał robić setki modeli a potem pojawi się problem gdy będę chciał wrzucić wszystkie produkty do jednej listy by wyświetlić je. Pozdrawiam.

Bardzo zły pomysł. Jak sobie wyobrażasz dodanie nowego typu produktu w runtime? Kto wtedy zaimplementuje klasę dziedziczącą z Product? :) Powinieneś mieć meta-model (model opisujący model) i w nim wyrażać definicje produktów. Twój model powinien umożliwiać zdefiniowanie nowych typów produktów np. Car, Computer i tego, że mają one atrybuty "Ilość RAM", "Rodzaj paliwa", "Przebieg" określonych typów (lista wyboru, data, etc. ) oraz tworzenie instancji tak zdefiniowanych "klas".

Nie Ty pierwszy (i nie ostatni) chcesz zaimplementować katalog produktów. TM Forum opracowało pewien standard, którego częścią jest katalog produktów. Sama organizacja jest co prawda związana z branżą telekomunikacyjną, ale model jest uniwersalny. Szukaj pod hasłem: SID product catalog model. Uwaga, jest to dłuższa lektura :)

0

Komentarz za krótki na taką dyskusję..

Jako użytkownik (właściciel biznesowy) systemu oczekiwałbym, że wiele elementów systemu będzie konfigurowalna z jakiegoś GUI, od biedy przez skrypty (API)/wpisy w bazie/plikach konfiguracyjnych/etc. Czy to hierarchia kategorii w których pojawiają się produkty, czy struktura produktów, uprawnienia itd.

Może nie potrzebujesz hierarchii Produktów, a wystarczy Aukcja, która zawiera opis przedmiotu aukcji, jakieś załączniki dla zdjęć, cenę, datę itd.?
Czym ma być wg Ciebie Produkt? Kto będzie wyszukiwał produkty i wg jakich kryteriów? Jak będzie naliczana cena za wystawienie produktu na aukcji?
Czy cena będzie uzależniona od parametrów produktu?

Pamiętaj, że system projektujesz Ty, więc albo masz jakąś wizję, którą zderzysz z rzeczywistością, albo masz wymagania co do funkcjonalności.
Jeśli nie masz żadnego, to w zasadzie co projektujesz?

1 użytkowników online, w tym zalogowanych: 0, gości: 1