Seorang rekan di milis Jug-Indonesia mengajak diskusi Design Patern ini, berikut postingannya:
Subject: Yuk Diskusi Tentang Design Pattern
Date: Wed Feb 24, 2010 6:44 am ((PST))Semuanya berawal dari bingungnya temenku yang jadi sulit ngebedain
antara State Pattern ama Strategy Pattern sejak dia berkunjung kehttp://www.oodesign.com/strategy-pattern.html
btw, menurut aku pribadi, itu seharusnya adalah State Pattern dan bukan Strategy Pattern,
so, bagaimana menurut teman2
![]()
– Best Regards Mirza Akhena
Mencoba membantu, kebetulan pernah baca-baca.
Baik Strategy Pattern juga State Pattern keduanya mempromote kelebihan yg sama:
Dynamic behaviour
Di buku Head First Design Pattern pun dibilang ini pattern kembar: twins separated at birth.
Bedanya klo strategy, client yg mengganti behaviour dari objek,
pada state, mekanisme ganti behaviour terlekat pada objek itu sendiri.
Contohnya di game mario bros klasik, ada musuh yg bentuknya mirip kura2:
- ijo, yg klo ktmu lobang dia jatuh
- merah, yg klo ktmu lobang dia balik arah
- bersayap, yg bisa terbang
Di sini, imho, strategy pattern bisa dipakai karena tuh musuh dibuat oleh sistem.
Sedangkan untuk Mario:
- mario kecil,
- mario besar, bisa pecah tembok
- super mario, bisa nembak
Di sini, imho juga, state pattern tampak lebih baik, yaitu ketika:
- mario kecil dapat jamur/bunga dia jadi besar
- mario besar dapat bunga, jadi super mario
Oya, satu lagi ketika mario dpt bintang, namanya apa yah ?
Lebih sering pakai strategy drpd state pattern sih.
Misal ketika implementasi payment via paypal, ada 2: direct payment & check-out
Ketika mengetahui adanya code smell: duplicate code pada proses akhir dari keduanya
Kepikiran dua pattern: strategy or template ?
Akhirnya dipilih strategy pattern, krn template kurang cocok, banyak bedanya, yg sama cuman diproses akhir
Juga yg pernah disampaikan mas Endy untuk implementasi Lifo, Fifo, or Average pada Accounting Systems, obvious utk diimplement dgn strategy pattern.
Misalkan juga pada sistem POS, promo diskon yg berganti2 ini bisa diimplement dgn strategy pattern.
State pattern bs untuk promo yg ada pembatasaanya, misal max 2 barang/pelanggan/hari. Klo pada objek transaksi ada 2 barang yg dimaksud, otomatis barang k-3 balik harga normal.
- Put configuration script in each top Object
- LDAP in LDAP.ps1
- Live@Edu in LiveEdu.ps1
- Comparator in Comparator.ps1
- Provisioning in Provision.ps1
Komentar Terakhir