1 / 21

Facade Design Pattern

Facade Design Pattern. Surya | 7409040001 Kemal | 7409040003 Fariz | 7409040004 Deny | 7409040012. Facade. Menyediakan Interface yang seragam untuk satu set interface dalam sebuah subsistem Membungkus subsistem yang rumit dengan interface yang sederhana. Penggunaan Facade.

talib
Download Presentation

Facade Design Pattern

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Facade • Menyediakan Interface yang seragamuntuksatu set interface dalamsebuahsubsistem • Membungkussubsistem yang rumitdengan interface yang sederhana

  3. Penggunaan Facade Digunakanketikasegmen dari client membutuhkan interface yang sederhana untuk menjalankan semua fungsi dari subsitem yang kompleks

  4. ContohStruktur Facade

  5. Contoh Facade

  6. ContohPenggunaan Facade

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

  8. Participants • Façade (compiler) • Mengetahui subsystem class mana yang responsibeluntuk 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. StudiKasus

  11. StudiKasus

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

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

  14. Penjelasan • Membuat facade untuksistem home theater • Class façade memperlakukankomponen home theater sebagaisubsystem,danmemanggilpada subsystem untukmengimplementasikanwatchMovie() method • Client sekarangmemanggil method pada home theater façade,tidakpadasubsystem • Façade masihmenyisakanakses subsystem untuk di gunakansecaralangsung

  15. Membangun Home Theatre Facade public class HomeTheaterFacade { Amplifier amp; Tuner tuner; DvdPlayerdvd; CdPlayer cd; Projector projector; TheaterLights lights; Screen screen; PopcornPopper popper; Semuakomponendari subsystem yang akankitagunakan

  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 () mengikutiurutan yang samakitaharusmelakukandengantangansebelumnya, tapimembungkusitudalammetodepraktis yang melakukansemuapekerjaan.

  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() berperanmematikansemuauntukkita,sekalilagi, 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 HomeTheaterFacadehomeTheater = new HomeTheaterFacade(amp, tuner, dvd, cd, projector, screen, lights, popper); homeTheater.watchMovie(“Raiders of the Lost Ark”); homeTheater.endMovie(); } } PertamaAnda instantiate Facade dengansemuakomponendalamsubsistem. Gunakan interface yang disederhanakanuntukpertamamemulai film, dankemudianmenutupnya

  21. Output Berikut output memanggil façade watchMovie(),beginilahsemuabekerjauntukklien dan di sini, kitasudahselesaimenonton film, sehinggamemanggilendMovie () untukmembuatsemuanya off

More Related