Twoi koledzy łączą architekturę z implementacją.
Idea wielopoziomowej aplikacji polega na tym, że jest ona podzielona na części, które obejmują niektóre rodzaje przetwarzania (pamięć, logika biznesowa, prezentacja) i komunikują się ze sobą za pomocą dobrze zdefiniowanych interfejsów. Tak jak z powodzeniem można robić rzeczy, które przypominają programowanie obiektowe w językach innych niż obiektowe, tak samo można robić to samo z wieloma warstwami w jednym środowisku, na przykład z serwerem bazy danych. To, co łączy jedną z tych osób z powodzeniem, to potrzeba opieki, dyscypliny i zrozumienia związanych z tym kompromisów.
Spójrzmy na trójwarstwową aplikację, w której dwie warstwy zostały zaimplementowane w bazie danych:
- Poziom danych: składa się z tabel baz danych dostępnych za pomocą czterech standardowych operacji tabeli (
INSERT
, UPDATE
, DELETE
i SELECT
).
- Warstwa logiczna: składa się z procedur przechowywanych, które implementują tylko logikę biznesową i uzyskują dostęp do warstwy danych przy użyciu tylko metod opisanych powyżej.
- Poziom prezentacji: składa się z serwera WWW z uruchomionym kodem, który uzyskuje dostęp do warstwy logicznej, wykonując tylko wywołania procedur składowanych.
Jest to całkowicie akceptowalny model, ale ma pewne kompromisy. Logika biznesowa jest zaimplementowana w sposób, który zapewnia szybki i łatwy dostęp do warstwy danych i może pozwolić na robienie rzeczy, które musiałyby być wykonane „na twardo” przez warstwę logiki poza bazą danych. To, czego się poddajesz, to możliwość łatwego przeniesienia jednej z warstw do innej technologii i bezproblemowe wdrożenie (tj. Musisz zachować szczególną ostrożność, aby warstwy nie korzystały z udogodnień dostępnych w bazie danych, ale poza zdefiniowanymi interfejsami) .
To, czy tego rodzaju rzeczy i wynikające z nich kompromisy są dopuszczalne w danej sytuacji, jest czymś, co ty i twoi koledzy musicie ustalić na podstawie własnego osądu.