Facade Design Pattern Surya | Kemal |

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek (Project)
Advertisements

Pemrograman JAVA (TIB09)
Pemrograman Berbasis Komponen
Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
 public static void main(String[] args) {  int bil1=3;  do {  System.out.print(bil1+",");  bil1=bil1+4;  }  while(bil1
Kelas A & B Jonh Fredrik Ulysses STMIK PALANGKARAYA - JFU
Pemrograman Berorientasi Objek
Membuat class sendiri.
Variabel di Java Variabel merupakan sebuah tempat untuk menyimpan data. Di Java setiap pembuatan variabel harus ditentukan tipe.
Java Progamming Operasi I/O
Pemrograman Berorientasi Objek
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Sistem Komunikasi.
Package As’ad Djamalilleil
Abstract Class & Interface
OBJECT ORIENTED PROGRAMMING in JAVA
Pemrograman JAVA (TIB09)
Workshop SCS: Java Game Programming
Abstract & Interface As’ad Djamalilleil
Flow Control & Exception Handling
Oleh : Sukma Murdani, S.Kom. SILABUS PENDAHULUAN Pengenalan OOP Pengenalan JAVA OOP (Object Oriented Programming) JAVA Class, Java Interface Encapsulation.
Pemograman beorientasi objek
Java array.
Pemrograman Berorientasi Objek
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Overriding, Overloading, Polymorphism
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Method.
Inheritance Ery Setiyawan Jullev A.
Inheritance (Pewarisan)
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
MATA KULIAH : PEMROGRAMAN 3 JAVA PROGRAMMING (JSE)
Pemrograman Berorientasi Objek
Dasar exception handling
Mendapatkan Input dari Keyboard
As’ad Djamalilleil Function (method) As’ad Djamalilleil
- PERTEMUAN 9 - BERBAGAI KELAS UTILITAS DI JAVA
EXCEPTION TRY-CATCH-FINALLY
KELAS INNER, KELAS ABSTRACT, DAN INTERFACE
- PERTEMUAN 4 - PERULANGAN
Pertemuan : Object Oriented Programming
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Inheritance Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2009.
PELATIHAN JAVA FUNDAMENTAL
Pengembang aplikasi memiliki kemampuan untuk memperbaiki beberapa parameter TCP, seperti buffer dan maksimum ukuran segmen maksimum Socket Programming.
NAMA : JUMADI Npm : Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan.
PEMROGRAMAN TERSTRUKTUR
OOP Java 06 Polymorphism.
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
Pertemuan: Object Oriented Programming
OOP Java - Tj Konsep Dasar OOP.
Inheritance, polymorphism, dan interface
1 Pertemuan 8 PACKAGE AND CLASSPATH Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
Advanced Class Features 2
Kelas Lanjut 2 Oleh Tita Karlita.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
Do you remember this?.  Strategy  Concrete Strategy  Context  Client Strategy Pattern consists of..
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma & Pemrograman 1
Manipulasi String dengan Kelas String dan StringBuffer
MATERI IV OOP (Object Oriented Programming) Chapter II.
Dasar exception handling
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Constructor dan Overloading
MODIFIER JAVA.
INTERFACE Pertemuan 005.
Tugas Minggu Ke 9 PBO Siti Halisah
MATERI PENDUKUNG PENGENALAN DASAR CLASS
JAva Threads.
- PERTEMUAN 2- CONSTRUCTOR
Transcript presentasi:

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 Digunakan ketika segmen dari client membutuhkan interface yang sederhana untuk menjalankan semua fungsi dari subsitem yang kompleks

Contoh Struktur Facade

Contoh Facade

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 “

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

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

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

Studi Kasus

Studi Kasus

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.

Class Diagram watchMovie() Play() On()

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

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

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.

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

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.

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.

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

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