Observer Pattern


 

Observer Pattern mendifinisikan sebuah hubungan one to many antara kumpulan object, ketika state dari satu object berubah, maka semua object yang digantugkan kepada object tersebut akan diberitahukan

mari kita lihat bagaimana observer pattern bekerja….

 

  • Subject interface memiliki 3 method yaitu registerObserver, removeObserver dan notifyObserver, karena object ini berupa interface maka kita lihat detailnya di concreateSubect class.
  • ConcreteSubject merupakan kelas yang mengimplementasikan Subject interface, oleh karenanya class ini harus mengemplementasikan apa apa yang ada dalam subject interface. (registerObserver(), removeObserver() dan notifyObserver()).
    registerObserver() merupakan metode yang befungsi sebagai pencatat observer. maksudnya jika observer ingin menjadi observer dari subject, maka observer harus mendaftarkan dirinya dgn mengunakan registerObserver method yang ada pada subject, agar supaya observer itu mendapatkan pemberitahuan jikalau ada state yang dirubah dalam subject. subject boleh memiliki banyak observer.
    removeObserver() merupakan metode yang akan digunakan oleh observer untuk menarik dirinya sebagai observer dari subject.
    notifyObserver() merupakan metode yang akan memberitahukan kepada observer bahwa state dari subject tsb dirubah dengan cara memanggil metode update yang ada dalam observer.