Pomieszanie logiki z wyglądadem(html)

0

Mam takie pytanie oddzielam logikę aplikacji od wyglądu, ale ja przysyłam dane ajaxem i chcę np wydrukować, tak, żeby ajax wydrukował coś na szarym tle to wtedy nie mogę rozdzielić warstwy logiki a warstwy prezentacji i czy da się to jakoś rozdzieliczyć i czy można w tym wypadku łączyć warstwę logiki z wartwą prezentacji ?

1

Dlaczego uważasz, że ajax to warstwa logiki?

0

Czytelniej jest to rozdzielać - ajaxem możesz pobrać surowe dane np. w formacie JSON a warstawie prezentacji możesz wrzucać kolorki. Mówiąc prosto: w kontekście pobierania danych AJAXem średnio cie interesuje jakie będzie tło, i krój czcionki; kiedy prezentujesz dane w jakiejś templatce średnio cie interesuje skad te dane sa: przyszły z serwera, czy były w local storage, a może jeszcze coś innego. Takie blackboxowe podejście pozwoli skupić się na jedej rzeczy naraz.

Jeszcze małe pytanie: co rozumiesz przez chcę np wydrukować, tak, żeby ajax wydrukował coś na szarym tle? A dokładnie co masz na myśli mówiąc, że ajax coś drukuje? Bo tu właśnie chyba następuje pomieszanie.

1

według mnie AJAX to szczegół implementacyjny, a nie "logika".

Jakieś dane się pobierają, ale czy to będzie AJAX, czy WebSockety, czy może dane będą się pobierać z jakiejś formy cache (nawet z pamięci RAM, bo dane zostały wcześniej pobrane) to już powinno to być mało istotne dla reszty aplikacji. Jeśli reszta aplikacji wywołuje bezpośrednio kod AJAXa (czy to będzie $.ajax czy fetch czy biblioteka Axios, whatever), to to jest jak dla mnie pomieszanie logiki (logiką jest np. "chcę mieć dane użytkownika") ze sposobem, w jaki te dane będą się ładować (czyli np. przez Ajax)

Więc wydzieliłbym kod odwołujący się do Ajaxa w jakąś bardziej ogólną funkcję (np. fetchUserPosts do pobierania postów użytkownika - ale czy te posty będą się ściągać Ajaxem czy w inny sposób, to już reszty aplikacji nie powinno obchodzić).

żeby ajax wydrukował coś na szarym tle

AJAX nic nie drukuje, bo służy on do komunikacji przeglądarka-serwer. Chyba, że masz na myśli mieszanie po prostu kodu, który pobiera dane przez AJAX z kodem odpowiedzialnym za wyświetlanie czegoś na ekranie. Jak dla mnie to jeszcze większe poplątanie i kod w stylu PHP. Jak widzę np. komponenty React, które walą zapytania do AJAXa to zaczynam wątpić w ludzkość.

Niestety ten styl pisania znowu wraca do łask, w React jest moda na to, żeby mieszać wszystko ze wszystkim i ludzie faktycznie tak piszą, że komponenty odpowiedzialne za wyświetlanie czegoś pobierają sobie dane przez AJAX. Tylko jak dla mnie to chaos i dziwna moda promowana przez ludzi z Facebooka, na przekór wszystkim możliwym dobrym praktykom).

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