Kali ini merupakan postingan terakhir dari cerita kita tentang Joe dan Bebek-Bebeknya. Karena judulnya Strategy Pattern, maka kita perlu menunjukkan kaitan antara apa yang telah kita lakukan dengan apapun itu yang bernama Strategy Pattern. Apakah ada kaitannya? Tentu ada. Kalau tidak, buat apa kita capek-capek bercerita!
Namun sebelum sampai ke arah situ, kita recap dulu apa yang telah kita lakukan. Saatnya kita melihat big picture-nya….

Gambar di atas merupakan struktur kelas secara keseluruhan yang telah kita gunakan. Di situ para duck meng-extend kelas Duck, kelas-kelas behavior mengimplementasikan interface FlyBehavior dan QuackBehavior. Ok, kita sudah tahu ceritanya.
Nah, sekarang, kita tidak lagi menyebut kelas-kelas behavior tetapi menyebutnya sebagai familiy dari algoritma-algoritma. Jadi, dari kelas-kelas behavior FlyBehavior menjadi sebuah familiy algoritma flying. Begitu juga, kelas-kelas behavior QuackBehavior menjadi sebuah family algoritma quacking. Dalam konteks game simulasi Duck ini, suatu algoritma merepresentasikan hal-hal yang dilakukan seekor duck (Cara terbang dan cara ber-kwek yang berbeda).
Client Duck menggunakan family algoritma ini untuk terbang dan ber-kwek-kwek.
………Dan itulah yang kita namakan Strategy Pattern.
Inilah definisi formalnya:
Strategy Pattern mendefinisikan sekumpulan family algoritma-algoritma, meng-enkapsulasi-kan satu sama lain, dan membuatnya bisa ditukar-tukar. Strategy ini membuat algoritma dapat berubah secara independen dari Client yang menggunakannya.
Gunakan definisi ini untuk mengesankan saudara, teman, mertua …
kok mirip2 buku HeadFirst yah. Tp bagus kok, gak perlu nranslate lagi. Thank you.
@Dwi
Iya memang aku belajar java dan design pattern dari buku Head First. Bukunya bagus. Bisa digunakan untuk demystify Java dan Design Pattern. Highly recommended untuk dibaca.