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.
Berikut adalah digram dari Prototype Pattern:
Diagram Prototype Pattern
Implementasi sederhanaDi 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
Shape : Circle Shape : Square Shape : Rectangle
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:Contoh dibawah ini merupakan contoh yang menggunakan c++ dalam penerapannya menggunakan virtual.
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
No comments:
Post a Comment