Latest web development tutorials

Tryb Szablon

W trybie szablonu (szablon wzoru) i abstrakcyjnej klasy, która określa, jak wykonać ujawnia metodę / szablonu. Jej podklasy trzeba zastąpić metodę można osiągnąć, ale nazywa się klasą abstrakcyjną zostaną zdefiniowane. Tego rodzaju wzorców projektowych należą wzorców zachowań.

wprowadzenie

Intencja: Zdefiniuj algorytm działania szkieletu, natomiast odroczenie pewne kroki, aby podklasy.Sposób szablon umożliwia podklasy algorytm, bez zmiany struktury każdego stopnia algorytmu można zmienić.

Główne Rozwiązanie: Niektóre powszechna metoda, ale w każdej podklasie re-write to podejście.

Kiedy stosować: Istnieje kilka typowych metod.

Jak rozwiązać: Te ogólne Algorytm oderwane.

Kod klawisza: klasa abstrakcyjna implementuje pozostałe etapy wdrażania sub-klasy.

Przykłady zastosowań: 1, podczas gdy w domu zbudowanym, fundamenty, przewody, rury wodociągowe są takie same, tylko w drugiej części budynku mają szafie Plus plus marki ogrodzeń różnice.2, Podróż na Zachód dawać dobry Buddę wewnątrz 81 trudne, to jest najwyższego poziomu logiczne ramy. 3, w celu wsparcia Spirng hibernacji, niektóre zostały już podane dobry sposób, aby otoczyć, takich jak otwarte transakcje, uzyskanie sesji sesja i innych programistów, którzy nie powtarzających się pisać dobre normy kodów, bezpośredni rzut jednostka może być zapisany.

Zalety: 1, część tego samego pakietu, rozszerzone części zmiennej.2, wyciąg wspólny kod, łatwe w utrzymaniu. 3, działanie jest sterowane przez grupy macierzystej, podklasa realizacji.

Wady: każdy z różnych implementacji wymaga podklasy do osiągnięcia, co powoduje zwiększenie liczby klas, co czyni system bardziej znaczące.

Scenariusze użycia: 1, stwardnienie podklasa powszechna metoda i ta sama logika.2 ważne, skomplikowane metody mogą być uważana za metodę szablonu.

Uwaga: Aby uniknąć szkodliwego działania, w połączeniu z ogólnych metod szablonu są końcowe słowa kluczowe.

realizacja

Będziemy tworzyć niestandardowegraakcji klasy abstrakcyjnej, w którym sposób szablon ustawiony jest ostateczna, więc nie zostaną nadpisane.Krykietaipiłki nożnejgra jest rozszerzeniem klasy podmiotu, który nadpisuje klasę abstrakcyjną.

TemplatePatternDemo wykazujemyzastosowanie klasygracza wcelu wykazania zastosowania wzoru szablonu.

Szablon wzór diagram UML

Etap 1

Tworzenie klasy abstrakcyjnej, jego metoda szablon jest ustawiony na finał.

Game.java

public abstract class Gra {
   abstract void initialize ();
   abstract void startPlay ();
   abstract void Luz osiowy ();

   // Template public final void play () {

      // Inicjalizacja grę initialize ();

      // Uruchom grę startPlay ();

      // Koniec gry Luz osiowy ();
   }
}

Etap 2

Tworzenie rozszerza podmiot klas wyżej klasy.

Cricket.java

public class Cricket rozciąga grę {

   @Override
   Luz osiowy void () {
      System.out.println ( "Cricket Game Wykonało się!");
   }

   @Override
   void initialize () {
      System.out.println ( "! Cricket Game Zainicjowany zacząć grać.");
   }

   @Override
   void startPlay () {
      System.out.println ( "Cricket Gra rozpoczęła cieszyć się grą.!");
   }
}

Football.java

public class nożna rozciąga grę {

   @Override
   Luz osiowy void () {
      System.out.println ( "Football Gra Gotowe!");
   }

   @Override
   void initialize () {
      System.out.println ( "! Piłkarski Zainicjowany zacząć grać.");
   }

   @Override
   void startPlay () {
      System.out.println ( "Football Gra rozpoczęła cieszyć się grą.!");
   }
}

etap 3,

Graz użyciem metody play szablonu () w celu wykazania gry są zdefiniowane.

TemplatePatternDemo.java

{public class TemplatePatternDemo
   public static void main (String [] args) {

      gry gry = new Cricket ();
      game.play ();
      System.out.println ();
      Gra Football = new ();
      game.play ();		
   }
}

Etap 4

Sprawdź, czy wyjście.

Cricket Game przygotowanej! Zacznij grać.
Cricket Gra rozpoczęła. Baw się dobrze!
Cricket Game Zakończone!

Piłka nożna Gra Zainicjowany! Zacznij grać.
Piłka nożna gry dla początkujących. Baw się dobrze!
Piłka nożna Gra Gotowe!