Monday, January 4, 2016

Design Pattern




Design Pattern adalah suatu pola solusi umum yang digunakan pada masalah-masalah yang sering muncul pada desain software.
Tetapi design pattern bukanlah solusi akhir dari suatu masalah yang spesifik. Design pattern hanyalah pola bagaimana menyelesaikan suatu masalah yang bisa digunakan dalam berbagai situasi.
Salah satu pattern yang banyak digunakan dalam sebuah aplikasi adalah Singleton. Pattern ini digunakan ketika ada suatu resource yang hanya boleh ada satu instance eksklusif di dalamnya. Salah satu implementasinya sering digunakan pada kasus penggunaan resource database. Dalam aplikasi, cukup hanya ada 1 koneksi saja yang digunakan oleh berbagai object lainnya. Hal ini untuk mencegah pemborosan memory karena banyaknya instance yang sebenarnya tidak perlu.

sciencecatcit.blogspot.co.id/ 

Singleton adalah sebuah pattern yang membatasi penggunakan class menjadi sebuah instance saja pada sebuah aplikasi. Biasanya ada sebuah class pada aplikasi yang pada desain hanya dibutuhkan sekali. Pembatasan ini sebenarnya bisa dibuat sebagai sebuah global static object. Tapi kadang penggunaan singleton ini lebih menyenangkan karena global state sering membingungkan apalagi ketika kita memasukkan sebuah komponen yang menggunakan sebuah kelas yang dibatasi oleh sebuah obyek ke dalam aplikasi lain.
Tujuan Singleton adalah membuat suatu class dengan method membuat instance baru.

contoh :
package singleton;

public class Main
{
    public static void main(String[] args)
    {
      Scanner input = new Scanner(System.in);
      if(CurrentUser.isLoggedIn())
      {
          System.out.println("User "
          + CurrentUser.user().getUsername()
          + "telah login");
      }
      else
      {
           System.out.println("Belum ada user yang login");
           System.out.println("Masukkan username: ");
           String username = input.nextLine();
           System.out.println("Masukkan password: ");
           String password = input.nextLine();
           CurrentUser.login(username, password);
      }
           System.out.println("\nUser yang telah login:");
           System.out.println("Username: " + CurrentUser.user().getUsername());
           System.out.println("Password: " + CurrentUser.user().getPassword());
           System.out.println("\nUser akan logout...");
           CurrentUser.logout();
           System.out.println("User telah logout!");
           if(CurrentUser.isLoggedIn())
      {
           System.out.println("Masih ada user yang login");
      }
      else
      {
           System.out.println("Tidak ada user yang login");
      }
    }
 }

No comments:

Post a Comment