Aktywne Wpisy

krystian-stepaniak +234
Treść przeznaczona dla osób powyżej 18 roku życia...

Kingside +138
Chyba w skali boforta
#p0lka
#p0lka
źródło: temp_file1158708306781387910
PobierzSkopiuj link
Skopiuj link

źródło: temp_file1158708306781387910
PobierzRegulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Cześć (na wstępie powiem, że projekt akademicki, więc może być dziwnie).
Tworzę sobie w Javie klasy dla przedmiotów w sklepie online i:
1. Mam klasę abstract Product z polami wspólnymi dla wszystkich produktóœ + getterami i setterami.
2. Chciałbym stworzyć teraz 5 różnych produktów, tak żeby każdy był w innej klasie. Tworzę np. Klasę "Biurko" która rozszerza klasę Product i ma swój konstruktor.
Wreszcie pytanie:
Czy jest sposób żeby tak skonstruowany kod rozszerzać "automatycznie" o 200 kolejnych produktów? Pisanie ręcznie każdej klasy chyba nie ma sensu. Może konstrukcja klasa abstrakcyjna -> klasa produktu jest bez sensu?
Jak Wy byście się do tego zabrali na poziomie meta?
ale zakładając że jednak mamy dodatkowe pola (które docelowo będziemy mapować na bazę danych) i chcemy uniknąć akademickiej "nadmiarowości" pustych pól w tabelach.
No i do niektórych produktów możemy dodać akcesoria (jest na to metoda), a do niektórych nie możemy (nie ma metody)... To pewnie
@buntuubuntu: to mniej szkodliwe niż klasowa biegunka.
@Godziu73: public class BlackDesk extends Desk implements Colorable
Produkty co najwyżej powinien mieć typ i listę atrybutów. W ten sposób aplikacji jest niezależna od danych. Jeśli musisz modyfikować kod, żeby dodać krzesło to pozdro xd Mając taki generyczny model będziesz mógł ładować wszystko z pliku i zadziała jeśli dobrze to przemyślisz.
Jeśli już chcesz koniecznie użyć dziedziczenia to może w jakimś wzorcu,
Napisz se jakiś skrypt w Pythonie czy innym Bashu, który będzie przyjmował jakieś parametry i tworzył ci pliki w odpowiedniej ścieżce.
1. jeżeli dodanie nowych danych np. nowego typu produktu wymaga dodania nowych klas i rekompilacji projektu to jest to bardzo zła droga
2. Atrybuty specyficzne dla konkretnego produktu można zamodelować w postaci zesłownikowanej (lub nie) kolekcji klucz-wartość
Komentarz usunięty przez autora