^H HIGHLAND-SOFT
Spring Framework

Spring Framework_

Autor: Adrian Wiktor
piątek
26
Styczeń

Dlaczego zdecydowaliśmy się na Spring Framework

Pod koniec lat dziewiedziesiątych, poczatkiem 2000, kiedy to aplikacje enterprise zostały szeroko używane oraz wdrażane przy użyciu standardów JEE. Jeżeli aplikacja była stworzona zgodnie z JEE mogła być umieszczona na dowolnym serwerze JEE na dowolnej platformie. Ale jak to bywa na tym świecie, nie ma nic za darmo, oraz nie wszystko okazuje się takie proste. Praca z JEE przysparzała pewne trudności:
– Kod był zbyt złożony, ponieważ podczas pisania komponentu musieliśmy napisać zestaw plików xml, dedykowane interfejse lokalne oraz zdalne itp.
– Występował problem “wyszukiwania”, gdy komponent wymagał innego komponentu, sam musiał go znaleźć co było czasochłonne.
– Wprowadzono wsparcie dla wielu funkcjonalności, takich jak tworzenie klastrów, obsługa zdalna itp., ale należało je skonfigurować, niezależnie od tego, czy były one potrzebne, czy nie. Zaciemniało to aplikacjie i dodawało dużo pobocznych zadań.

Zatem jako rozwiązanie wszystkich tych problemów pojawiły się frameworki. Frameworki są dużymi zbiorami gotowego kodu, który można dodać do twojej aplikacji aby rozwiązać poszczególne problemy w określonej domenie. Aplikacje opracowane przy użyciu frameworków są lekkie, szybkie i wydajne. Wprowadzono różne rodzaje frameworków, takie jak Struts, Hibernate, JSF, Spring itp.
Ale z tych wszystkich frameworków, Spring rozrósł się na rynku najbardziej. Od 2014 roku nadal jest najbardziej popularny na rynku. Powód, dla którego Spring Frameworks cieszy się takąpopularnością tkwi w jego korowych konceptach:
– Kontener Inversion of Control (IoC): Obiekty dają własne zależności zamiast tworzyć lub szukać obiektów zależnych. Obowiązuje zasada Hollywood, która brzmi: “Nie dzwoń do nas, zadzwonimy do ciebie”.
– Dependency Injection: Usuwa zależności z twojego kodu aplikacji. Wprowadza zależność (instancja niskiego poziomu) do modułu wysokiego poziomu za pomocą kontenera IoC.
– Programowanie aspektowe (AOP) umożliwia tworzenie spójnej implementacji.

Te cechy prowadzą do zwiększenia modułowości, dzięki czemu nasz kod jest luźno sprzężony. Co więcej, ze względu na warstwową architekturę zapewnia łatwą integrację z innymi technologiami, takimi jak Hibernate.

Komentarze

komentarzy