Builder (inşaatçı) tasarım şablonu yapısal (creational patterns) tasarım şablonları grubunda yer alır. Builder kullanmaktaki amaç kompleks yapıdaki bir nesneyi parçalamak birden fazla nesne ile oluşturmaktır.
Bir kahve makinası düşünelim parayı atıyoruz ve karşımıza seçim listesi geliyor seçim listesinde kahve, çay, ıhlamur vb. içecekler var. seçimimizi yapıyoruz makina seçtiğimiz içeceği hazırlıyor ve bize veriyor.
yazının tamamını oku »
Iterator (tekrarlayıcı) tasarım şablonu davranışsal (Behavioral Patterns) tasarım şablonları grubunda yer alır. Listede yer alan nesnelere sırayla erişebilir ve bu nesneler üzerinde işlem yapabiliriz.
php5 bu tasarım şablonunu kendi yapısındada The Standard PHP Library (SPL) altında bulundurmaktadır. SPL yi ileriki zamanlarda anlatacağım biz bu yazımızda iteratorun çalışma mantığını inceleyeceğiniz.
yazının tamamını oku »
Composite (kompozit) tasarım şablonu yapısal (Structural Patterns) tasarım şablonları grubunda yer alır. Composite bir sistemin bütünü ile parçalarının birbiriyle ilişkileri sadeleştirmek için kullanılır.
Anlatımımız biraz garip oldu bir örnek vererek açıklayalım. Grafik çizen bir uygulama yaptığımızı düşünelim her şekil için ayrı sınıf kullanıyoruz. Kare, Diktörtgen, Üçgen, Çember vs vs. Resimi çizmek için aşağıdaki gibi bir kod kullanırız.
yazının tamamını oku »
Abstract Factory (Soyut Fabrika)
Aynı sınıf ailesine ait nesnelerin oluşturulmasında kullanılır. Kullanılan altsınıfları gizliyerek, tranparen olarak kullanılmalarını mümkün kılar.
Builder (İnşaatçi)
Kompleks yapıdakı bir nesneyi değişik parçaları bir araya getirerek oluşturmada kullanılır. Birden fazla adım içeren nesne üretim sürecinde, değişik parçalar birleştirilir ve istenilen tipte nesne oluşturulur.
yazının tamamını oku »
Decorator (dekoratör) tasarım şablonu yapısal (Structural Patterns) tasarım şablonları grubunda yer alır. Kullanım amacı sınıf yapısını değiştirmeden oluşturulan yeni nesneler ile yeni özelliklerin eklenmesidir. Decorator ile nesnemize yeni ek özellikler eklemiş olur. Bu tasarım şablonu yeni alt sınıf yaratmadan sınıfımıza yeni özellikler ekleyebilmemizi sağlar.
yazının tamamını oku »
design patterns