Strategy Pattern vs. State Pattern

28 04 2010

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 ke

http://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.

Improving Script Design
– Put configuration script in each top Object
– LDAP in LDAP.ps1
– Live@Edu in LiveEdu.ps1
– Comparator in Comparator.ps1
– Provisioning in Provision.ps1
Iklan




Terima kasih Tuhan

14 08 2009

Tersadar, didalam sepi ku
setelah jauh melangkah.
Cahaya kasih Mu, menuntun ku
kembali dalam, dekap tangan Mu.

Terima kasih Tuhan
untuk segalanya
Kau berikan lagi, kesempatan itu.

Tak akan terulang lagi
semua kesalahan ku
yang pernah menyakiti Mu

Tanpa Mu, tiada berarti
tak mampu lagi berdiri.
Cahaya kasih Mu, menuntun ku
kembali dalam, dekap tangan Mu.
===
rasa rasanya lagu kang Afgan ini lagu syukur & taubat 🙂





Semua ciptaan-Nya sempurna

12 08 2009

Ya, tidak ada satupun ciptaan-Nya yang tidak sempurna, baik wujud fisik maupun kejadian. Karena yang menciptakan adalah Alloh SWT, Sang Maha Sempurna.

Contoh sederhana dari Ust. Quraish Shihab (semoga dilimpahi Alloh kasih  sayang Nya): gelas dan gunting. Gelas yang sempurna tentu berbeda dengan gunting yang sempurna. Syaitan itu sempurna, dari sisi kemampuannya menggelincirkan manusia dari jalan-Nya.

Mencela sebuah lukisan jelek, sama halnya mencela peluksinya. Karena itu perlu dihindari mencela segala ciptaan-Nya, yang sudah pasti sempurna. Mungkin tidak sempurna menurut pandangan duniawi kita, tapi semua ciptaan-Nya selalu sempurna, baik wujud maupun kejadian. Demikian tutur Aa Gym dlm nasihatnya (semoga dilimpahi Alloh kasih sayangNya)

Mohon doakan saya untuk terus bisa memperbaiki diri. Trims





Kesungguhan setan

7 08 2009

Ketika sayton (setan) yg pasti masuk neraka bersungguh-sungguh menggoda manusia, mengapa saya kurang bersungguh-sungguh utk bisa masuk surga ?
Sayton adalah makhluk yg sempurna sebagai penggelincir manusia ke neraka. Karena setiap ciptaan Alloh pasti sempurna.

Aku berlindung kepada Alloh dari dahsyatnya tipu daya sayton nan terkutuk. Alloh yang Maha Gagah, aku yakin perlindunganMu adalah yang paling sempurna.
Mohon do’a kan saya utk bisa terus memperbaiki diri

Salam fight for Heaven





Get Paid More and Promoted Faster

25 03 2009

Lagi dengerin Get Paid More and Promoted Faster.mp3 dari Brian Tracy. Ada 21 point yang dibahas.

01. Decide Exactly What You Want
02. Select the Right Industry and the Right Company
03. Select the Right Boss
04. Develop a Positive Attitude
05. Start Earlier, Work Harder and Stay Later
06. Push to the Front
07. Ask For What You Want
08. Create a Positive Image
09. Guard Your Integrity As a Sacred Thing
10. Be Future Oriented in Your Work and Personal Life
11. Be Goal Oriented in Everything You Do
12. Be Result Oriented in Your Activities
13. Be Solution Oriented Rather Than Problem Oriented
14. Be Idea Oriented in Every Part of Your Work.
15. Be People Oriented in All of Your Activities
16. Be Growth Oriented
17. Be Excellence Oriented
18. Be Customer Oriented in Your Business
19. Be Profit Oriented
20. Be Power Oriented
21. Be Action Oriented

Tapi intinya: bangunlah mental pengusaha (enterpreneurship mentality).

Pola pikir pegawai:
Gaji naik sebesar-besarnya, Bekerja secukupnya, Memanfaatkan fasilitas kantor semaksimal mungkin.

Pola pikir pegawai bermental pengusaha:
Gaji sesuai kontribusi, Bekerja sebaik mungkin, Memanfaatkan fasilitas kantor seperlunya.

Jujur aja sih, saya juga masih belum sebaik itu dan masih terus belajar untuk lebih baik.

Doakan saya untuk terus bisa memperbaiki diri. Thanks





Dialah Alloh

28 08 2008

Ini sebuah lagu indonesia yang terlalu memuja lawan jenisnya,
Sehingga aku rubah agar memuja yang Maha Terpuji,
yang memiliki segala puji, Dialah Alloh SWT.

Quiz: Apa judulnya, siapa yang nyanyi ? [1]

aku ingin menjadi
hambaMu yang selalu mengingatMu
aku ingin menjadi
hambaMu yang selalu merindukanMu

karena langkah merapuh tanpa diriMu
karena hati telah letih

aku ingin menjadi
hambaMu yang slalu Kau sentuh
aku ingin Kau tahu
bahwa ku selalu memujaMu

tanpaMu sepinya waktu merantai hati
nikmatMu seakan-akan

Alloh adalah nyanyian dalam hatiku
yang memanggil rinduku padaMu
seperti udara yang ku hela,
kau selalu ada

hanya diriMu yang bisa membuatku tenang
tanpa diriMu aku merasa hilang

[1] avolaeD, ecnO (dibaca terbalik)





Fir’aun, si sombong yang terlaknat sepanjang jaman.

1 04 2008

Cerita Fir’aun yang sombong termaktub dalam tiga kitab suci: Taurat, Injil, dan AlQur’an. Sedemikian sombongnya Fir’au hingga dia mengaku sebagai Tuhan. Tuhan? iya, karena dia “merasa” bisa melakukan apa yang Tuhan lakukan.

Memberi kehidupan dan kematian
“Saya bisa memberi kehidupan dan kematian” begitu klaim Fir’aun. “Tidak percaya? bawa kemari dua budak itu, penggal yang itu, satunya lagi bebaskan”. Tolol sekali si Fir’aun ini. Masa’ hal seperti itu disebut memberi kehidupan dan kematian, benar-benar tololnya.

Berbeda dengan manusia
Kalo manusia biasa, tercipta dari setetes mani, kemana-mana bawa (ma’af) tahi, ujung-ujungnya, kalo mati jadi bangkai. Si Fir’aun memang beda ujungnya. Ketika dia mati, dia tidak akan menjadi bangkai karena pada waktu itu ilmu pengetahuan sudah cukup maju terutama bidang biologi. Sehingga sedemikian rupa nanti jasad Fir’au akan abadi sepanjang jaman, karena diawetkan menjadi Mummy.

Kesombongan datang dari kebodohan
Sombong datangnya dari hati karena merupakan penyakit hati. Yang dapat menaklukannya adalah akal. Semakin banyak ilmu akan membuat rendah hati dan tidak sombong. Ketika menggunakan akal untuk berfikir akan menambah ilmu.

Berfikirlah tentang ciptaan Tuhan, dan jangan berfikir tentang zat Tuhan
Volume bumi dibandingkan matahari adalah 1:1,5 juta (satu banding satu setengah juta). Bagaimana membayangkanya? Kalau bumi dibandingkan dengan Jupiter, planet terbesar di tata surya kita, adalah 1:7. Jadi volume Jupiter adalah 7 kali volume bumi. Jika Jupiter dianalogikan sebagai bola voli, maka bumi hanya sebesar kelereng. Sudah bisa membayangkan betapa besarnya matahari yang besarnya 1,5 juta (satu juta setengah) kali dibandingkan dengan bumi tempat kita berpijak (di sebuah kota pada satu pulau kecil) ? Padahal, matahari yang begitu besarnya hanyalah sebuah titik kecil yang terang di galaxy Bima Sakti. Juga, sangat banyak galaxy yang lainya.

Bagaimana bisa sombong?
Kita manusia teramat kecil dibandingkan alam semesta, dan ditubuh kita yang kecil ini terdapat banyak elemen kecil penyusun, dari organ, sel, hingga atom-atom yang didalamnya terdapat benda-benda ultra kecil. Dan semua itu tidak mungkin terjadi secara kebetulan. Sang pencipta, Allah Subhanahu wa Ta’ala, adalah Tuhan yang menggenggam semuanya, semua yang terjadi. Tidak ada yang tidak mungkin bagi Allah, Sang Maha Besar.

Semoga tulisan ini bermanfa’at. Wallohu’alam bis Showab

— Nashroulloh