`

`
Powered by Blogger.

penerapan desain pattern factory method di php



          Design pattern Factory Method berfungsi untuk memproduksi atau menghasilkan suatu output yang sama entah itu sumbernya dari manapun atau apapun. Contoh penggunaannya (dari kacamata saya :)) pada sebuah framework, ialah pada penanganan berbagai database yang berbeda-beda. Dimana polanya ialah, daftarkan jenis database -> buat koneksi -> buat query. Untuk mengurangi pengulangan pola tersebut, maka digunakanlah design pattern Factory Method sebagai solusinya, demi mengantisipasi perubahan tanpa harus mengulangi pola yang sama untuk setiap jenis database yang berbeda. Bagi yang masih bingung, saya akan coba untuk menjelaskan cara penggunaanya.

              Sama seperti design pattern observer, kita membutuhkan 2 buah interface. Interface yang pertama sebagai creator (dalam hal ini sebagai bagian yang buat koneksi) dan interface yang kedua sebagai pengenal dari database yang didaftarkan. Selanjutnya kedua interface tersebut diimplementasikan oleh class-class yang berikutnya.


interface_factory.php


<?php
interface DB_Koneksi
{
public function buat_koneksi($db);
}
interface DB_Name
{
public function nama_database();
}
?>


Setelah itu kita buat sebuah class yang mengimplementasikan interface DB_Koneksi. Memanfaatkan function buat_koneksi() yang di dalamnya koneksi dipilih sesuai dengan database yang telah ditentukan. Kemudian memanggil salah satu class yang sesuai dengan pilihan databasenya.




Pilih_Koneksi.php


<?php
include('interface_factory.php');
include('DB_Oracle.php');
include('DB_Mysql.php');
class Pilih_Koneksi implements DB_Koneksi
{
public function buat_koneksi($param)
{
if($param == "oracle")
{
return new DB_Oracle();
}
else if($param == "mysql")
{
return new DB_Mysql();
}
}
}
?>

Yang terakhir, kita buat 2 buah class yang mengimplementasikan interface DB_Name. Dengan memanfaatkan function database_name(), dihasilkan output sesuai dengan database yang terpilih.




DB_Oracle.php




<?php
class DB_Oracle implements DB_Name
{
public function nama_database()
{
return "Anda Memakai Database Oracle";
}
}
?>
DB_Mysql.php



<?php
class DB_Mysql implements DB_Name
{
public function nama_database()
{
return "Anda Memakai Database MySQL";
}
}
?>

Cara penggunaanya seperti di bawah ini :


factory.php



<?php
include('Pilih_Koneksi.php');

$koneksi = new Pilih_Koneksi();
$pilih_koneksi = $koneksi->buat_koneksi("mysql");
echo $pilih_koneksi->nama_database();
?>


Design pattern Factory Method ini bermanfaat untuk membuat sebuah objek, tetapi kita tidak tahu tipe objek apa yang akan dibuat. Contohnya seperti di atas, kita buat sebuah objek koneksi tetapi kita tidak perlu tahu tipe objek database apa yang dipakai.



sumber : wikipedia&gedelumbung
Bagikan :
+
Previous
Next Post »
0 Komentar untuk "penerapan desain pattern factory method di php"

 
Template By Kunci Dunia
Back To Top