Jak zacząć? Czym się różni wróbelek? Tym, że ma jedną nóżkę bardziej? I myślę, że VSA różni się tak samo od nTier, że ma warstwę bardziej. Myślę, że bardziej czytelny będzie, choć oderwany od prawdziwego życia, choć myślę, że mógłby być smaczny. Otóż nTier to taki klasyczny tort, biszkopt, masa, biszkopt, smak, biszkopt, masa, biszkopt – gdzie przeplataniec może być w dowolnej kolejności, a smak do ustalenia z kucharze. Cała idea jest taka, że gdzie i jak nie ukroisz to będzie tak samo (plus losowość wystrojenia na topie). A teraz wyobraź sobie, że, w zależności od twoich potrzeb tort może mieć wiele smaków, i wiele ułożeń i smaków. Dla Ciebie będzie kawowy, dla żony likier, dla dziecka truskawka, dla cioci lawenda 😉 etc etc – a jeszcze najpiękniejsze jest to, że tory będzie wyglądać tak samo jak każdy inny – jak tort. Możesz nawet poprosić, aby dekoracja pasowała i podpowiadała smaki.
Czemu w ogóle o tym piszę, skoro się tak bardzo nie różnią? Ta drobna różnica daje dużą elastyczność, która to z kolei ułatwia i upraszcza proces tworzenia rozwiązywania problemów biznesowych. Jeszcze, to co dla mnie ważne ostatnio, to dedykowany kod, brak wspólnego mianownika, brak 🤮 dziedziczenia, brak reużywalności – w którą przestałem wierzyć. Każda linijka dedykowana tylko jednej konkretnej funkcjonalności.
Przypomnij sobie podejście kontroler, manager, serwis, repozytorium i z powrotem 🔁 – byle do piątku, byle do emerytury…
A teraz wyobraź sobie, że obowiązkowy jest tylko kontroler czy jakiś inny endpoint, reszta zależy tylko od Ciebie i tego co właściwie potrzeba. Bo świat jest piękny gdy każdy jest inny, a wszystko działa tak – jak powinno.