Başlangıç > üçüncüYıl, Bilmuh, Java, Programlama > Abstract Factory Pattern

Abstract Factory Pattern


Factory Pattern’a göre soyutlama bir derece daha fazla. Yani Factory Pattern’da döndürülen sınıf, doğrudan bir alt sınıf iken, Abstract Factory Pattern’da üst sınıf ile erişilen alt sınıf döndürülüyor. Daha anlaşılır olması için örnekten devam edelim.

Örnek: İstenilen bilgisayar için bilgisayar parçaları ile ilgili bilgileri ekrana yazdıran bir program.Bilgisayar parçaları; Monitor, Ram ve Processor. Bilgisayar tipleri ise; PC, Workstation ve Server.

Programın kodu:

Temel soyut sınıf Computer sınıfı.PC, Workstation ve Server bu sınıftan türetilecek.

Yukarda görülen 3 metot da farklı tipteki bilgisayarlar için çalışır. Farklı bilgisayar sınıfları içinde gerçekleştirimleri her bilgisayar için istenilen şekilde yapılacağından farklı değerler döndürür.Geri döndürdüğü değerin tipi ise  her seferinde Parts olur.

Parts sınıfı:

Computer sınıfının alt sınıflar; PC, Workstation ve Server .

PC sınıfı:

Workstation sınıfı:

Server sınıfı:

3 bilgisayar tipinden birini döndüren  Abstract Factory sınıfı. Geri dönüş tipinin Computer  olduğuna dikkat etmek gerek, geri dönüş tipi üst sınıf olmasına rağmen alt sınıfın değerini döndürür.

ComputerType sınıfı:

Ekran çıktısı:

 

Bunlar da ilginizi çekebilir:

Factory Pattern

Kuyruk(Queue)

Yığıt (Stack)

jOptionPane Kullanımı

Java’da Minimum Spanning Tree

Java’da İkili Ağaç

Kaynak

Reklamlar
  1. Henüz yorum yapılmamış.
  1. Aralık 30, 2010, 10:12 pm
  2. Aralık 30, 2010, 11:30 pm
  3. Ocak 30, 2011, 4:30 pm
  4. Ocak 30, 2011, 11:56 pm

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

%d blogcu bunu beğendi: