Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Facade Design Pattern Surya | Kemal |

Presentasi serupa


Presentasi berjudul: "Facade Design Pattern Surya | Kemal |"— Transcript presentasi:

1 Facade Design Pattern Surya | 7409040001 Kemal | 7409040003
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
Jelaskan : “Pertimbangkan misalnya pemrograman aplikasi yang memberikan akses ke subsistem compiler nya. Subsistem ini berisi class seperti Scanner, Parser, ProgramNode,BytecodeStream, dan ProgramNodeBuilder yang menerapkan compiler. Beberapa aplikasi khusus mungkin perlu untuk mengakses class secara langsung. Tetapi kebanyakan klien dari compiler umumnya tidak peduli tentang rincian seperti parsing dan generasi kode, mereka hanya ingin mengkompilasi beberapa kode. Bagi mereka, interface kuat tapi low-level dalam subsistem kompiler hanya mempersulit tugas mereka. Untuk menyediakan higher-level interface yang dapat membantu client dari class-class tersebut,Compiler subsystem juga mempunyai sebuah compiler class. class ini mendefinisikan antarmuka yang seragam untuk fungsi compiler.compiler class bertindak sebagai façade:menyediakan client interface single dan simple untuk mengakses subsistem compiler. Facade compiler membuat hidup lebih mudah bagi kebanyakan programmer tanpa menyembunyikan fungsi tingkat rendah dari beberapa yang membutuhkannya.seperti yang di jelaskan pada gambar “

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 Studi Kasus

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 | Kemal |"

Presentasi serupa


Iklan oleh Google