Gambar 1. Pabrik (Factory)

Factory Method merupakan salah satu bagian dari Design Pattern yang masuk dalam tipe Creational Pattern atau Pola Pembuatan. 

 

Apa itu Factory Method?
Pengertian Factory Method jika dilihat dari namanya yaitu "Factory" jika diartikan dalam Bahasa Indonesia adalah pabrik. Sesuai dengan artian nama tersebut, Factory Pattern akan bertindak selayaknya pabrik yang akan membuat suatu produk jadi, tanpa orang luar tau proses apa yang sedang dilakukan didalam pabrik tersebut sehingga keluarannya jadi. Produk yang akan dibuat dalam kasus ini adalah instance atau object yang akan digunakan dalam suatu system yang ingin dibuat. Sehingga dengan menggunakan Factory Method ini kebutuhan untuk membuat suatu instance atau object hanya tinggal memanggil perintah untuk membuatnya saja disertai dengan properti-properti yang diinginkan, proses pembuatannya akan dikerjakan oleh class yang bertindak sebagai factory-nya.
Secara ringkas pengertian Factory Method adalah "suatu pola yang bertindak mengatur logika pembuatan suatu instance sehingga class lain hanya cukup memanggil perintah pembuatannya saja". Selain itu terdapat beberapa hal yang harus diperhatikan yaitu object yang telah dibuat harus bisa didapatkan oleh class lainnya yang membutuhkan, untuk itu access modifier harus public untuk fungsi pembuatan serta pengambilan object.

 

Implementasi Factory Method
 
Kami sangat sering menggunakan pattern ini dalam setiap game yang dibuat, karena dalam pembuatan game tidak mungkin tidak ada instance atau object yang dibuat. Contoh implementasi Factory Method akan kami berikan dari salah satu game kami dengan model permainan strategy yaitu Warfare Squad.
 
Gambar 2. Macam Unit dalam WarfareSquad
Dalam game tersebut kami hampir setiap object yang butuh untuk di buat akan kami gunakan pola Factory Method ini, namun akan kami beri satu contoh dari pembuatan Unit yang ada didalam permainan.
 

Gambar 3. Contoh implementasi Factory Method menggunakan contoh pembuatan instance Unit pada game
 
Dari ilustrasi Gambar 3, merupakan salah satu contoh implementasi Factory Pattern dengan pembuatan instance atau object dari class Unit sebagai contohnya. Dalam ilustrasi tersebut terdapat class UnitBuilder yang bertugas untuk mengatur pembuatan instance-instance Unit dengan parameter TypeUnit yang harus ditentukan saat pemanggilan fungsi pembuatannya.
 
Class UnitBuilder memiliki fungsi buildUnit() yang didalamnya akan mengatur bagaimana sebuah class tersebut di construct hingga berjalan sesuai dengan yang diinginkan. Sehingga fungsi buildUnit() ini menjadi seperti fungsi enkapsulasi dari proses pembuatan instance Unit. Setiap bahasa memiliki tekniknya masing-masing dalam melakukan konstruksi suatu instance, sehingga secara umum kerja dari UnitBuilder hanya melakukan pembuatan instance Unit, namun perlu diingat Unit yang telah dibuat harus bisa diakses sehingga perlu adanya fungsi tambahan yaitu getUnit() untuk mendapatkan Unit yang telah dibuat pada class UnitBuilder. Setelah selesai dibuat, fungsi-fungsi yang dapat diakses dari luar class tersebut harus diberi access modifier public untuk fungsi pembuatan (buildUnit()) dan juga pengambilan (getUnit()).
 
Sekian untuk ulasan Factory Method, silahkan melakukan diskusi jika masih ada yang ingin ditanyakan. Untuk contoh implementasi dalam Code akan diberikan juga sehingga akan lebih paham dalam implementasinya langsung.
 
Selanjutnya: Creational Pattern - Singleton (WIP)

Sumber Materi:
1. http://howtodoinjava.com/design-patterns/creational/implementing-factory-design-pattern-in-java/
2. https://sourcemaking.com/design_patterns/factory_method
3. http://www.tutorialspoint.com/design_pattern/factory_pattern.htm
4. http://www.vincehuston.org/dp/

 

Sumber Gambar:
Gambar 1: https://d13yacurqjgara.cloudfront.net/users/4392/screenshots/201268/factory-icon.png
Similar Article