Szablon w Javie
Wzorce projektowe pomagają programistom w pisaniu czystego, wydajnego i niepowtarzalnego kodu przy mniejszym sprzężeniu lub zależności między poszczególnymi jednostkami operacyjnymi. Za każdym razem, gdy koder analizuje wymagania przedstawione przez klienta, wówczas należy zastosować odpowiednie wzorce projektowe do implementacji kodu, na podstawie których można później skalować kod, można również wprowadzić dodatkowe ograniczenia, które należy dodać.
Wzorce projektowe są zawsze wybierane w kontekście skalowalności i czystej implementacji.
Wybieramy szablony, gdy szukamy ich do wypełnienia za pomocą określonych implementacji, nazywanych to szablonami.
A na arenie kodowania używamy tych paradygmatów w następujących scenariuszach biznesowych.
Scenariusz 1 -
Masz zaprojektować internetowe rozwiązanie dla szablonu w Javie, w którym zostaniesz poproszony o zaimplementowanie charakterystycznych właściwości pojazdu, takich jak wzór obliczania prędkości, obliczanie momentu obrotowego itp. Tak więc w przypadku roweru byłoby inaczej niż w przypadku dla samochodu, a jeśli spojrzymy na perspektywę skalowalności, to dodanie podstawowego szablonu, który ma zewnętrzny szkielet tych metod związanych z obliczeniami, a następnie właśnie dodaliśmy warianty tych implementacji w naszym kodzie, tworząc w ten sposób elastyczny projekt. Gdy zobaczysz ten szablon, tylko użytkownik zorientuje się w oferowanych przez Ciebie funkcjach i może oczekiwać tylko w powiązanych klasach.
Scenariusz 2 -
Innym przypadkiem może być wygenerowanie wspólnego szablonu dla klas baz danych, które zamierzasz wywołać w swoim projekcie, być może korzystasz z Oracle, MySQL lub DB2, i prawdopodobnie w różnych scenariuszach kodowania nie możesz się doczekać połączenia z nimi w różnych instancjach czasu, więc w szablonie możesz podać nazwę użytkownika, hasło, uzyskać właściwości połączenia itp., a rozszerzające się klasy podałyby szczegóły implementacji w miarę poszukiwania.
Deweloper Java wie, jak zaimplementować tego rodzaju funkcje !! Tak, klasa abstrakcyjna jest poprawną odpowiedzią. Mam nadzieję, że wiesz, że ilekroć mamy scenariusze, w których rozwiązania mają być ściśle powiązane, wybieramy klasy abstrakcyjne (w innym przypadku interfejsy również spełniają nasz cel).
Implementowanie szablonu w Javie
1. Ustaw klasę podstawową jako abstrakcyjną, która zawiera również metody szablonów i metody abstrakcyjne.
2. Metody szablonów mają ostateczny charakter i nie będą się później zmieniać.
3. Metody abstrakcyjne są konieczne do wdrożenia poprzez wsparcie kodu logiki biznesowej w klasach implementacji.
4. Metodę można uczynić abstrakcyjną w klasach potomnych, jeśli nie musi być tam zaimplementowana.
5. Ważnym scenariuszem jest również odpowiednie obchodzenie się z wyjątkami.
6. Właściwy wybór tego, co należy oznaczyć jako abstrakcyjne, a co nie.
Metody z ciałami w klasie bazowej są wykonane jako ostateczne, ponieważ nie można ich przesłonić, tak jak dla obliczeń prędkości obrotowej klasy pojazdu można dokonać tego samego.
Poniżej zdefiniowaliśmy przykład oparty na szablonie Java, który zawiera przykładową implementację tego samego -
public abstract Vehicle
(
String fuelType;
Int countOfSeats;
public abstract double calcSpeed() throws Exception;
public abstract double calcTorque() throws Exception;
public final void templateMethod()
(
Task1();
Task2();
Task3();
)
public Bike extends Vehicle
(
@Override
public abstract double calcSpeed() throws Exception
(
try
(
return distance/time;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
@Override
public abstract double calcTorque() throws Exception
(
try
(
return radialLength * force;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
)
public car extends Vehicle
(
Int doorCount; // door doesn't exist in all vehicles so has been added here
@Override
public abstract double calcSpeed() throws Exception
(
try
(
return distance/time;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
@Override
public abstract double calcTorque() throws Exception
(
try
(
return radialLength * force;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
)
Za pomocą środowiska Eclipse lub innych internetowych platform kompilacyjnych można sprawdzić tę implementację za pomocą własnych implementacji.
Wymagania systemowe przed kodowaniem
1. Najlepiej zainstalować Javę 8.
2. Zmienne systemowe są odpowiednio skonfigurowane dla środowiska JRE.
3. Wymagane jest także środowisko IDE typu eclipse, które automatycznie sprawdza błędy składniowe.
4. Debugowanie tylko z IDE.
5. Wtyczki do analizy projektu szablonu.
6. Narzędzia do powiązania diagramów klas, aby poznać relację dziedziczenia wyższego poziomu między klasami stworzonymi przez Ciebie w implementacji wzorca projektowania szablonu.
7. Wszelkie okna, Linux lub MAC wykonałyby twoje zadanie.
Zalety szablonu w Javie
- Zapobiega powielaniu kodu, ponieważ ogólne rzeczy mogą być zaimplementowane tylko w klasie abstrakcyjnej, niezbędne zmiany mogą być zaimplementowane w podklasach.
- Zmienne wzorce mogą być implementowane w podklasach w oparciu o relację dziedziczenia implementacji. Ten proces nazywa się zastępowaniem metod.
- Główny szablon może mieć metody abstrakcyjne i nieabstrakcyjne, dzięki czemu implementacja jest łatwiejsza i bardziej elastyczna.
- Długość kodu pozostaje ograniczona.
- Kod wydaje się czysty i wydajny.
- Łatwy do debugowania, dzięki czemu życie programisty jest łatwe.
Przypadków użycia
- Implementacje relacji.
- Implementacje baz danych.
- Implementacja wariantów pojazdu.
- Zbiór owoców i wdrożenie efektów witaminowych.
- Implementacja metody przepływów pracy.
Co jeszcze możesz odkryć?
Czy wiesz o koncepcjach implementacji interfejsu, w Javie 8, niosąc nowe funkcje, możesz wypróbować implementację interfejsu w stosunku do klas pochodnych wymienionych powyżej i możesz wypróbować różne scenariusze biznesowe, w Javie 8 i nowszych wersjach możesz swobodnie zastąpić abstrakcyjne metody interfejsów w klasach implementacyjnych, powinieneś rzucić okiem na dokumentację przedstawioną przez Oracle dla tego samego.
Powinieneś także zbadać inne wzorce projektowe, ponieważ są one ważne i oczekiwane od doświadczonych programistów Java w całej branży.
Polecane artykuły
To był przewodnik po szablonie w Javie. W tym miejscu omówiliśmy koncepcję, wymagania, używane i zalety szablonu w Javie. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -
- Co to jest wzorzec projektowy w Javie?
- Wprowadzenie do JavaScript
- Jak zainstalować Selenium
- Co to jest Cognos?
- Klasy abstrakcyjne w JavaScript
- JRE vs JVM | 8 najważniejszych różnic z (Infografika)