Czołem przebojowi programmersi!
Projektuję swoją aplikację sklepu internetowego w technologii ASP.NET MVC, lecz mam dylemat co do tego, czy dobrze się do tego zabieram.
Mam klasę Product, która zawiera pola wspólne dla wszystkich dostępnych w sklepie produktów (id, cena, dostępność itp) oraz klasy reprezentujące konkretny rodzaj towaru (np. Phone, TVSet), które dziedziczą po wspomnianym Product i posiadają własne, charakterystyczne dla nich pola.
W warstwie Webowej mam osobne kontrolery dla PhonesController i TVSetsController, które komunikują się z serwisami (osobny projekt) PhoneService oraz TVSetService, a te z kolei posiadają metody komunikujące się z DbContext.
Np. dodanie nowego produktu typu telefon wygląda tak:
-wysłanie viewModelu metodą typu post Add w PhonesController do PhoneService
-w odpowiedniej metodzie serwisu mapowanie na obiekt typu Phone i dodanie do bazy poprzez DbContext.
I tak dla każdej klasy reprezentującej typ produktu i dziedziczącej po Product.
Czy to właściwe podejście?