The Strategy Pattern
Tujuan Pembelajaran Mengetahui model persoalan yang menggunakan Strategy pattern Mengetahui pola Strategy pattern Mampu menerapkan Strategy pattern untuk meningkatkan fleksibilitas kode
Koleksi Desain Pattern Creational Patterns : Singleton Factory Behavioural Patterns : Strategy
Behavioural Patterns Berkaitan dengan “perilaku” objek Mengidentifikasi pola komunikasi umum antar objek dan merealisasikan pola-pola ini Dapat meningkatkan fleksibilitas
Persoalan Program harus mendukung perilaku-perilaku yang berbeda dari objek-objek
OO Design Principles Identify aspects that vary and separate them from what stays the same. Program to an interface not an implementation. Favor composition over inheritance Berikan dulu contoh DuckSim
Pisahkan perilaku dari kelas Duck!
Strategy Pattern -- Definisi The Strategy Pattern defines an interface for creating an object, but lets subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.
Strategy Pattern Template
Latihan Jika terdapat tambahan satu jenis Duck, yaitu DecoyDuck yang tidak bisa terbang dan tidak bisa mengeluarkan suara. Tuliskan kode Java untuk kelas DecoyDuck. Jika sekarang perilaku berenang (swim) dibedakan menjadi berenang dan mengambang, bagaimanakah perubahan struktur kelasnya? Gambarkan dengan class diagram. Tuliskan kode untuk kelas-kelas yang berubah.