Definisi
Prototype pattern adalah salah satu dari GoF(Gang of Four) patterns. Kata-kata yang bisa menggambarkan pattern ini diantaranya adalah "Duplicate" dan "Clone". Sebuah objek dapat memunculkan objek lain yang mirip dengannya. Penggunaan Prototype Pattern dimaksudkan untuk memangkas cost yang diperlukan untuk membuat objek baru, karena objek tersebut sebenarnya adalah sesuatu yang sama jadi tidak perlu membuat new object jika objeknya serupa. Objek yang diduplikat memang adalah sesuatu yang bisa kita bilang sama tapi bukan berarti kita tidak dapat mengubah konten atau nilai variabelnya. State dari original objek sama dengan clone objeknya saat waktu dikloning.
Gambar Diagram Prototype Pattern
Berikut adalah digram dari Prototype Pattern:
Diagram Prototype Pattern
Implementasi sederhana
Di implementasi ini menggunakan java. Untuk running program ini bisa menggunakan blueJ, eclipse, netbeans, atau IDE lainnya. Berikut adalah implementasi sederhana yang dapat dicoba untuk prototype pattern.
1. Buat abstrak class mengimplementasikan
Clonable Interface, beri nama Shape.java
2. Buat 3 class yang merupakan extend dari class Shape, pertama beri nama Rectangle.java
kemudian yang kedua diberi nama Square.Java
dan yang ketiga diberi nama Circle.java
3. Buat kelas dari database dan simpan dalam hashtable, beri nama ShapeCache.java
4. Kemudian buat class PrototypePatternDemo.java digunakan untuk mendapatkan
clone dari shape yang disimpan di hashtable
Output Implementasi
Contoh Penggunaan di Industri
Penggunaan Prototype pattern cukup banyak di dunia industri, salah satu yang paling banyak penggunannya ada di industri game. Kita tentu pernah lihat saat memainkan beberapa game akan ada spawning dari karakter atau objek yang sama, dan terkadang jumlahnya sangat banyak. Spawning tersebut dapat menggunakan Prototype Pattern, dan untuk gambaran langsung untuk penggunaannya dalam game bisa dilihat di
sini.
Contoh dibawah ini merupakan contoh yang menggunakan c++ dalam penerapannya menggunakan virtual.
Berikut adalah diagram atau gambaran sederhana dari class yang ada di program tersebut:
Screenshot Hasil
screenshot hasil
Sekian penjelasan dan pendapat saya mengenai Prototype Pattern,
Hasil percobaan sebelumnya tentang factory pattern di sini.
Sumber:
https://www.tutorialspoint.com/design_pattern/prototype_pattern.htm
https://prezi.com/evt8jvbkbhfd/prototype-pattern/
http://gameprogrammingpatterns.com/prototype.html