Tell don’t Ask
Object-oriented code lebih mudah dimengerti dan dimantain jka ditulis dengan menggunakan style “Tell, Don’t Ask”. Maksudnya ?? Object haruslah membuat keputusan hanya dengan menggunakan informasi yg dimiliki bukan berdasarkan informasi yg dimiliki oleh object lain. Tell itu command. Ask itu query.
Contohnya.
public class MyObject { private OtherObject m_otherObj; ..... public void MoveSomething() { boolean state = m_otherObj.IsOK; // ask / query if (state) m_otherObject.DoBadAction(); // command / tell else m_otherObject.DoGoodAction(); } }
akan lebih baik jika kita mengubahnya seperti ini :
public class MyObject { private OtherObject m_otherObj; ..... public void MoveSomething() { m_otherObject.DoYourActionWithYourOwnChoice(); // command / tell } }
yups….
jadi dengan demikian kita dapat mengantikan suatu object dengan object lain yang dapat merespon perintah yg sama dengan cara yg berbeda. Karena kita tidak terikat dengan internal object kepada siapa kita berkomunikasi.
Lawan dari Tell don’t ask style adala train-wreck. Sambung menyambung menjadi satu. Hahaha. contohnya.
Attribute a = object.getPart().getSubpart().getAttribute(); // atau object.getPart().getSubpart().setAttribute(x);
so tell don’t ask. demi kelangsungan hidup software saudara.
Categories: OO Programming, OOAD Basic
OOAD, oop, Programming
kek gini banyak juga dipakai wel…
misalnya…
date.getDate().toString().trim().equals(“blablabla”);
hahahahaha………..
hahahaha … macam kereta api kan pas …
tut tut
hahaha…oke wel, mantap lah… aku udah hidup dan mendunia di dunia Rich Internet Application. Tapi untuk yang OOP beginian juga oke juga koq. Tapi sebelum berlangsung terlalu jauh, gimana kita berdua membuat sebuah website yang khusus membahas seperti ini bro? terus untuk langkah awal, kita berdua dulu penulisnya, terus kita invite siapa2 aja yang mau bergabung. Gimana? Ntar kita bikin halaman donasi, bagi siapa saja mau memberi donasi, biar website kita eksis, yah, soalnya kita kan bayar hosting juga toh? terus ntar, kita buat buku yuukk.. lumayan menambah keuangan kita. Ingat suatu hal yang penting dan penting kali bro, programmer juga butuh makan. hahahahahaha… programmer juga punya pacar, programmer juga butuh ke mall.. hahahahaha… bener gak bro? gimana dengan usulku?
Mak…Udh ngeri kali kau wel.
Ntah udh apa2 aja lah yg kau baca selama ini ya.
Aku aja blm bisa apa2 dgn OO. Bikin class atw method yg bener aja aq blm bisa, sementara kw udh maen2 dgn pattern en high-level concept lainnya.
After all, good job. Keep it up.
hayo di jawab pertanyaan ganda wel…
kok kau gantung dia…hahaha