Monday, January 4, 2016

FACADE PATTERN




Facade Pattern adalah desain perangkat lunak pola umum yang digunakan dengan pemrograman berorientasi obyek. Nama ini dengan analogi sebuah fasad arsitektur
.Fasad adalah sebuah objek yang menyediakan antarmuka yang disederhanakan untuk tubuh yang lebih besar dari kode.Facade pattern ini berfungsi untuk menyediakan sebuah antar muka yang seragam dalam sebuah sub sistem. Bisa dibilang Facade ini menyediakan sebuah antar muka pada level yang sudah tinggi alias sudah berada pada level atas, tujuannya agar sub sistem yang berada di bawahnya lebih mudah digunakan. Antar muka yang nantinya dihadapkan pada pengguna akan terlihat lebih sederhana, dimana pengguna tidak perlu mengetahui bagaimana sub sistem yang berada pada level bawah.Facade pattern ini banyak kita temui di kehidupan sehari-hari. Disini saya mencontohkan study kasus yang sederhana, yaitu saat membeli barang di supermaket. Proses atau urutan seseorang membeli barang hingga membayar.



contoh :


using System;

namespace facade
{
     class Pembeli
     {
         public void Lihat()
         {
            Console.WriteLine("Pembeli --> Melihat-lihat Barang yang akan Dibeli"); 
         } 
     
         public void Ambil()
         {
            Console.WriteLine("Pembeli --> Memilih dan Mengambil Barang yang Dibeli"); 
         } 
          
         public void Bawa()
         {
            Console.WriteLine("Pembeli --> Membawa Barang ke Kasir");
         }
          
         public void Bayar()
         {
            Console.WriteLine("Pembeli --> Melakukan Pembayaran");
         }
     } 
    
     class Kasir
     {
          public void Cek()
          {
                Console.WriteLine("Kasir --> Menghitung Harga Barang"); 
          } 
     
          public void Bayar()
          {
                Console.WriteLine("Kasir --> Melakukan Transaksi Pembayaran"); 
          }      
     
          public void Simpan()
          {
                Console.WriteLine("Kasir --> Menyimpan Pembayaran"); 
          } 
     } 
      
    class Program
    {
        public static void Main(string[] args)
        {
             
            Beli();
            Console.ReadKey(true);
        }
         
        public static void Beli()
        {
            Pembeli pp = new Pembeli();
            Kasir kk = new Kasir();
             
            pp.Lihat();
            pp.Ambil();
            pp.Bawa();
            kk.Cek();
            kk.Bayar();
            pp.Bayar();
            kk.Simpan();
                 
        } 
     } 
}

No comments:

Post a Comment