TASARIM ÖRÜNTÜLERİ
Composite
Structural Patterns bir örneği olan Composite örüntü ağaç veri yapısında olan kendi içerisinde kendi türünden çocuk sınıflar tutan ve belli ortak işlevleri getirebilen yapılar için kullanılan bir örüntüdür.
Published in
2 min readNov 1, 2015
Bilgi Notu: Diğer tüm Tasarım Örüntüleri yazıma bu linkten ulaşabilirsiniz.
Hangi Durumda
Ağaç veri yapısı türünde olup örneğin ortak bir method içeriyorsa
- hoverInput→ Menu yapıları (PopupMenu, Menus, TreeMenu vb..),
- draw → UI Component yapıları (JPanel, JTextfield vb..)
- calculateSize → Klasör ve Dosya yapıları
Bu durumda Composite(iç içe bir yapı) oluşturup iç içe recursive fonksiyonların çağrımların yapılması sağlanır
Yapısı
Kod
Bu kod örneğinden de görebileceğiniz gibi
- AbstractFile : Tüm elementlerin gerçekleştireceği metodu belirleyen arayüz.
- File ve Directory : Bu yapıdan AbstractFile türüyor ama Directory kendi içerisinde AbstractFile türünde başka nesneleride barındırıyor.
ls() komutunu çağırdımızda File sadece kendi ismini yazarken, Directory tüm child elemanlarının ls() komutunu çağırdıktan sonra kendi ismini yazıyor.
Bu sayede hiyerarşik olarak tüm elemanlar üzerindeki metotlar çağrılmış oluyor.
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.