Jako że aplikacja którą współtworzę w pracy jest spora, i ciągle się rozrasta, a mi brak jest doświadczenia zacząłem widzieć problemy których wcześniej pisząc małe aplikacje w domu nie widziałem. W związku z tym mam kilka pytań.
-
Jedną z rzeczy która mnie najbardziej irytuje jest pobieranie tych samych danych z bazy w wielu miejscach w kodzie. Powiedzmy mam taką sytuacje że mam trzy widoki wyświetlane z trzech różnych metod akcji. W każdym z tych widoków wyświetlam jakieś dane które są po części wspólne dla tych wszystkich widoków.
Co robić w takiej sytuacji, pobrać wszystkie dane z bazy w pierwszej metodzie akcji a potem zapisać je w sesji przeglądarki ?
Czy jest coś złego z korzystania sesji w przeglądarce/ na serwerze ?
Inna sytuacja jest taka że w każdej metodzie akcji pobieram coś z bazy. Często są to te same dane co w poprzedniej metodzie. Czy takie podejście jest okej ? Ja jakoś jestem sceptycznie nastawiony do przysyłania 7 parametrów z widoku do metody z metody do widoku z widoku do metody i z metody do widoku.. Zauważyłem że w aplikacji WPF trzymają jakoś wypełnione obiekty, do których w każdej chwili mogą się odezwać i pobrać dane. -
To pytanie jest bardzo ogólne. Chodzi o to jak pisać takie duże aplikacje ASP.NET MVC, bo u nas większość robiona jest w kontrolerach -> strzał do serwisu -> baza -> odpowiedź. W efekcie czego robi się rozpierdol. Szczególnie jak metoda akcji ma się zachowywać w różnoraki sposób w zależności od sytuacji. Staram się pisać dodatkowe metody, żeby w metodzie akcji nie było 300 linijek kodu, ale na tym kończę. Bynajmniej ja mam takie odczucie że coś tu jest nie tak. Wiem że to bardzo szeroki temat itd, ale bardzo chciałbym poznać jakieś małe rzeczy jakieś Wasze zwyczaje np, jakie tworzycie sobie dodatkowe foldery/ klasy do czego służą. Może jakim wzorcom powinienem się zainteresować.
-
Jeżeli metoda akcji zwraca mi model widoku w którym mam kilka modeli, to do zwracanego modelu do nazwy dodaję
viewmodel
natomiast do składowych klas tylkomodel
czy takie podejście jest okej ? -
Powiedzmy że tworzę sobie metodę która mi zwraca dwie, trzy albo n rzeczy. I teraz mam pytanie, czy mam tworzyć nową klasę i zwrócić jej obiekt z tymi danymi? Czy tak się powinno robić ? Czasami myślałem żeby zwrócić jakiegoś tupla albo jakąś listę jak chciałem zwrócić dwie rzeczy z metody ale nie wydawało mi się to zbyt fajne.
-
Jak sobie radzić z ifami, czy to jest zło ? Bo spotkałem się ze stwierdzeniem że if w ifie to max a co jak mam tego więcej ?
-
Jeżeli mam metodę która mi zwraca jakiś string, na podstawie którego rozpoznaje co powinienem dalej zrobić, to czy nie lepiej zwrócić go jako enum ? Wiadomo to łańcuch znaków łatwo o literówkę, czy może zwracać cyfry (1, 2, 3) i np. jeżeli zwróciło 1 zrób to, 2 to to itd.