Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Facade Design Pattern Surya | 7409040001 Kemal | 7409040003 Fariz | 7409040004 Deny | 7409040012.

Presentasi serupa


Presentasi berjudul: "Facade Design Pattern Surya | 7409040001 Kemal | 7409040003 Fariz | 7409040004 Deny | 7409040012."— Transcript presentasi:

1 Facade Design Pattern Surya | Kemal | Fariz | Deny |

2 Facade • Menyediakan Interface yang seragam untuk satu set interface dalam sebuah subsistem • Membungkus subsistem yang rumit dengan interface yang sederhana

3 Penggunaan Facade Digunakan ketika segmen dari client membutuhkan interface yang sederhana untuk menjalankan semua fungsi dari subsitem yang kompleks

4 Contoh Struktur Facade

5 Contoh Facade

6 Contoh Penggunaan Facade

7 Gunakan Façade Saat • ingin menyediakan interface yang simple dari subsystem yang kompleks. • ada banyak dependensi antara klien dan class implementasi dari abstraksi

8 Participants • Façade (compiler) – Mengetahui subsystem class mana yang responsibel untuk di request. – delegasi permintaan klien untuk objek subsistem yang tepat.

9 Participants (cont’d) • Subsystem Class (Scanner, Parser, ProgramNode, etc) – melaksanakan fungsi subsistem. – menangani pekerjaan yang ditugaskan oleh objek Facade.

10 Studi Kasus

11

12 Permasalahan • Ketika film selesai, bagaimana Anda mematikan semuanya? Tidakkah Anda harus melakukan semua ini lagi, secara terbalik? • Akankah sekompleks saat mendengarkan CD atau radio? • Jika Anda memutuskan untuk meng-upgrade sistem Anda, Anda mungkin akan harus belajar prosedur yang sedikit berbeda.

13 Class Diagram watchMovie() Play() On()

14 Penjelasan • Membuat facade untuk sistem home theater • Class façade memperlakukan komponen home theater sebagai subsystem,dan memanggil pada subsystem untuk mengimplementasikan watchMovie() method • Client sekarang memanggil method pada home theater façade,tidak pada subsystem • Façade masih menyisakan akses subsystem untuk di gunakan secara langsung

15 Membangun Home Theatre Facade public class HomeTheaterFacade { Amplifier amp; Tuner tuner; DvdPlayer dvd; CdPlayer cd; Projector projector; TheaterLights lights; Screen screen; PopcornPopper popper; Semua komponen dari subsystem yang akan kita gunakan

16 Membangun Home Theatre Facade public HomeTheaterFacade(Amplifier amp, Tuner tuner, DvdPlayer dvd, CdPlayer cd, Projector projector, Screen screen, TheaterLights lights, PopcornPopper popper) { Facade melewatkan sebuah references untuk setiap komponen subsistem dalam konstruktor. Facade kemudian memberikan setiap variabel contoh yang sesuai.

17 Membangun Home Theatre Façade (cont’d) this.amp = amp; this.tuner = tuner; this.dvd = dvd; this.cd = cd; this.projector = projector; this.screen = screen; this.lights = lights; this.popper = popper; } // other methods here }

18 Implementing Simplified Interface public void watchMovie(String movie) { System.out.println(“Get ready to watch a movie...”); popper.on(); popper.pop(); lights.dim(10); screen.down(); projector.on(); projector.wideScreenMode(); amp.on(); amp.setDvd(dvd); amp.setSurroundSound(); amp.setVolume(5); dvd.on(); dvd.play(movie); } watchMovie () mengikuti urutan yang sama kita harus melakukan dengan tangan sebelumnya, tapi membungkus itu dalam metode praktis yang melakukan semua pekerjaan.

19 Implementing Simplified Interface (cont’d) public void endMovie() { System.out.println(“Shutting movie theater down...”); popper.off(); lights.on(); screen.up(); projector.off(); amp.off(); dvd.stop(); dvd.eject(); dvd.off(); } Dan endMovie() berperan mematikan semua untuk kita,sekali lagi, setiap tugas didelegasikan ke komponen yang sesuai dalam subsistem.

20 Time to watch a Movie (the easy way) public class HomeTheaterTestDrive { public static void main(String[] args) { // instantiate components here HomeTheaterFacade homeTheater = new HomeTheaterFacade(amp, tuner, dvd, cd, projector, screen, lights, popper); homeTheater.watchMovie(“Raiders of the Lost Ark”); homeTheater.endMovie(); } Pertama Anda instantiate Facade dengan semua komponen dalam subsistem. Gunakan interface yang disederhanakan untuk pertama memulai film, dan kemudian menutupnya

21 Output Berikut output memanggil façade watchMovie(),beginilah semua bekerja untuk klien dan di sini, kita sudah selesai menonton film, sehingga memanggil endMovie () untuk membuat semuanya off


Download ppt "Facade Design Pattern Surya | 7409040001 Kemal | 7409040003 Fariz | 7409040004 Deny | 7409040012."

Presentasi serupa


Iklan oleh Google