Command tasarım şablonunu açıklamak için televizyonu uzaktan kumanda etme aletini metafer (mecazi örneklendirme) olarak kullanmak istiyorum. Kanalları değiştirmek için kumanda aleti üzerinde belirli bir tuşa basarız. Tusa basıldığı anda kumanda aleti televizyona bir komut göndererek, kanalın değişmesini sağlar. Aynı şekilde televizyonu açıp, kapatmak ve ses ve renk ayarlarını yapmak için değişik tuşlar kullanılır. Kullanıcı olarak tuşa basıldığında, televizyon bünyesinde ne gibi bir işlemin yapıldığı hakkında bilgi sahibi olmamız gerekmiyor. Bunu alıcının (televizyon) bilmesi yeterlidir. Bilmemiz gereken tek şey, hangi tuşun altında hangi komutun olduğudur.
Bir nesne üzerinde bir işleminin nasıl yapıldığını bilmediğimiz ya da kullanılmak istenen nesneyi tanımadığımız durumlarda, Command tasarım şablonu ile yapılmak istenen işlemi bir nesneye dönüştürerek, alıcı nesne tarafından işlemin yerine getirilmesi sağlıyabiliriz
Bu yazıyı PDF olarak edinebilirsiniz.
Command (Komut) Tasarım Şablonu (80,4 KiB, 8.749 yükleme)
EOF (End of Fun)
Özcan Acar
PDF linkini göremedim,
Kolay gelsin
Makaledeki kodlarda Televizyon obje’si geciyor. Sanirim kod kismi unutulmus.
Gene makaledeki UML den cikardigim kod, asagidaki gibi…
public class Televizyon {
public void ac() {
System.out.println("TV acildi");
}
public void kapat() {
System.out.println("TV kapatildi");
}
public void kanalDegistir() {
}
}
Onemli degil ama gene de yazayim dedim…