Ödev 3

Transkript

Ödev 3
Fatih Üniversitesi, Bilgisayar Mühendisliği Bölümü
BİLM 401 Yazılım Mühendisliği
Ödev 3: Tasarım Kalıpları Tarih: 15 Kasım 2007, Perşembe
Teslim Tarihi: 26 Kasım 2007 Pazartesi ders saatinde. Geç teslimatlar kabul edilmeyecektir.
Pazartesi sabah 12.00’ye kadar çalışmanızı yaptığınız JBuilder 2007 proje klasörünü sıkıştırıp
e-posta ile asistanınıza gönderiniz. Bu ödevi en çok iki kişilik grup çalışması ile
yapabilirsiniz.
1. (40 puan) Abstract Factory (Soyut Fabrika) kalıbının sağladığı avantajları tanıtan bir program yazınız.
Farklı türden çok sayıda nesne oluşturmanız gerektiğinde gerekli fonksiyonları bir Abstract Factory içine
gömünüz. Her bir çocuk fabrika nesnenizin özel bir türüne karşılık gelecek şekilde olmalıdır. Singleton
kalıbını kullanarak iki nesne oluşturunuz. Aynı şekilde GUI fabrikasına bir örnek verebilirsiniz.
2. (30 puan) Observer (Gözlemci) kalıbının sağladığı avantajları tanıtan bir program yazınız. Java sınıf
kütüphanesindeki Observer kalıbını oluşturan sınıfları kullanmayınız, kendi çözümünüzü uygulayınız.
Programınız durumu gözlenecek şekilde bir nesne oluşturmalıdır. En az üç gözlemciyi nesnenize
bağlamalısınız ve gözlenen nesnenin durumunu iki defa değiştirmelisiniz. Her defasında gözlemciler
durum değişikliğini algıdıklarını ve yeni durumu elde ettiklerini göstermelidir.
3. (30 puan) Decorator kalıbının sağladığı avantajları tanıtan bir program yazınız. Çağrıldıklarında çıktı
üreten iki fonksiyona sahip olan bir nesne oluşturun. Bu nesne için çağrıldıklarında çıktı üreten iki
fonksiyon daha ekleyen bir dekoratör oluşturun (çıktılar için dekoratörleri grafik olarak kullanan bir GUI
kullanmanıza gerek yoktur, standart çıktı yeterlidir). Dekore edilmemiş bir nesne tanımlayın ve
programınızdan iki fonksiyonu da çağırın. Sonra bir dekoratör tanımlayın, onu orijinal nesneyi dekore
etmek için kullanın ve dekoratör tarafından sağlanan dört fonksiyonu da programınızda çağırın. Orijinal
iki fonksiyonun çıktıları da aynı şekilde dekore edilmelidir. Dekore edilmemiş nesnenin orijinal çıktısının
dekoratör tarafından bir şekilde işlendiğini göstermelisiniz.
Programlarınız için bilgi verme amaçlı birer info.txt dosyası eklemeyi unutmayınız. JBuilder
2007 proje klasörünü sıkıştırarak [email protected] adresine e-posta gönderiniz. Sizin ve varsa
grup arkadaşınızın ad soyad, öğrenci numarası bilgilerini de yazmayı unutmayınız. Kopya
çekmeniz halinde toplam notunuzdan 20 puan kesilecektir.

Benzer belgeler