wtorek, sierpnia 5

warstwowy model aplikacji

Postaram się w bardzo przystępny sposób przedstawić
warstwowy model aplikacji. Warstwy stanowią logiczny podział systemu. Każda z warstw posiada właściwy zakres odpowiedzialności, co gwarantuję, że będą od siebie oddzielone logicznie. Przy implementowaniu warstw musimy dopilnować by miały pomiędzy sobą bardzo luźne powiązania.

Model warstwowy aplikacji.
Po pięknym teoretycznym wstępie :P, napiszę kilka słów jak taki model osiągnąć. Proces budowania podziału przedstawię na przykładzie niepoprawnie zbudowanego podziału na warstwy. Na koniec przedstawię korzyści jakie płyną z podziału warstwowego. Wysiłek jaki trzeba włożyć w programowanie nie powinien być tylko poniesiony dla faktu posiadania modelu warstwowego. Wykonanie wszystkich czynności oraz za modelowanie aplikacji przynosi bardzo wiele wymiernych korzyści.


Refaktoryzacja architektury.
Należy przenieść kod dostępu do danych bliżej rzeczywistego źródła danych, a logikę przetwarzania z warstwy klienta do warstwy biznesowej. W drugim kroku zostanie przedstawiony model poprawnego rozbicia na warstwy. Na koniec refaktoryzacji przeprowadzone zostanie rozbicie w warstwie biznesowej na komponenty sesyjne zajmujące się logiką biznesową, oraz na komponenty entity stanowiące model trwałych transakcyjnych obiektów.


Podział taki zapewnia bardzo wyraźne rozdzielenie, a w przyszłości zagwarantuje jak największą skalowalność, elastyczność, bezpieczeństwo...
W miarę upływu czasu projekt musi sobie coraz lepiej radzić z elementami związanymi z trwałością danych, transakcjami i skalowalnością usług. Podejście gwarantuje łatwość osiągnięcia tego założenia:


Funkcje potrzebne do zbudowani modelu warstwowego:
  • zbudowanie GUI w oparciu o model MVC
  • podział logiki na niezależne fragmenty
  • ukrycie szczegółów warstwy prezentacji przed warstwą biznesową
  • usunięcie konwersji z widoku
  • wydzielenie kodu dostępu do danych z warstwy prezentacji (DAO)
  • oddzielenie przetwarzania prezentacyjnego od przetwarzania biznesowego (Business Delegate), zastosowania logiki biznesowej pozwoli zastosować usługi nie tylko w warstwie prezentacji, podejście takie gwarantuje dużo większą re - używalność kodu biznesowego
  • redukcja komunikacji pomiędzy komponentami
  • przy takim układzie bardzo ułatwione jest zarządzanie deklaracyjne transakcjami



do poczytania.