Yaratımsal tasarım kalıpları, yazılım nesnelerinin nasıl yaratılacağı hakkında genel olarak öneriler sunarak kullandığı esnek yapı sayesinde daha önceden belirlenen durumlara bağlı olarak gerekli nesneleri yaratır. Yaratımsal desenler, hangi nesnenin çağrılması gerektiğini izlemeden sistemin uygun nesneyi çağırmasını sağlayan tasarım kalıplarıdır. Nesnelerin yaratılması gerektiği durumlarda uygulamaya farkedilebilir bir esneklik katar. Esas amaç, iyi bir yazılımın içinde barındırdığı nesnelerin nasıl yaratıldığından bağımsız olarak tasarlanması gerekliliğidir.
Yaratımsal kalıplar, uygulamanın çalışma süreci içerisinde oluşturulması gereken nesneler ve bu nesnelerin belli yapılar dahilinde oluşturulmasını öngören beş farklı şablondan (desen) oluşur.
- Fabrika Metodu (Factory Method)
- Soyut Fabrika Metodu (Abstract Factory Pattern)
- Tekil Kalıp - Yegane (Singleton Design Pattern)
- Yapıcı Kalıp ( Builder Design Pattern)
- İlk örnek Kalıp - Örnek ( Prototype Design Pattern)
- Soyut Fabrika (Abstract Factory)
Üretimle ilgili tasarımlarda önem kazanmaktadır. Fabrika ve ürün grubu gibi ilişkiler bir kez tanımlanır. Bu tasarımda önemli olan yapısal olarak birbirine benzeyen ürünlerin ortak bir ara katman üzerinden yönetilebilmesini sağlamaktır. Bu şekilde kurulan yapı daha kolay ve esnek olur. Tek ara yüz kullanarak bir nesne ailesinin farklı platformlarda yaratılmasına olanak sağlar. Diğer bir deyişle, uygulama davranış değişikliğine uğramadan farklı platformlara taşınabilir.
- Fabrika Yöntemi (Factory Method)
Nesnenin nasıl yaratılacağını kalıtım yoluyla alt sınıflara bırakıp nesne yaratımı için tek ara yüz kullanarak, ara yüzle nesne yaratım işlevlerini temelde birbirinden ayırmaya yarayan yaratımsal tasarım kalıbıdır.
- Yapıcı (Builder)
Tek ara yüz kullanarak karmaşık bir nesne grubundan gerektiğince parça yaratılmasını sağlar. Nesne grubu kullanıldıkça istenilen şekilde yapılanır ve bu sayede kullanılmayan parçaların gereksiz yere yaratılarak kaynak harcama durumu ortadan kaldırılmış olur.
- Örnek (Prototype)
Kendi üzerinden yaratılacak nesneler için prototip görevi üstlenen bir yapı sunmaktadır. Diğer bir deyişle, sınıflardan nesne yaratırken yeni nesnelerin baştan yaratılmayıp, mevcutlarını örnek kabul ederek yaratılmasını sağlar. Bu desen sayesinde nesneler, kaynaklar gereksiz yere meşgul edilmeden yaratılırlar.
- Yegane (Singleton)
Nesnenin sadece bir defa oluşturulmasını öngören bir mekanizma kurulmak istenildiğinde etkin bir biçimde kullanılabilen bir tasarım desenidir. Oluşturulan bir sınıftan sadece bir nesne yaratılacak şekilde bir kısıtlama yapabilme olanağı sağlar ve nesneye ilk kez ihtiyaç duyulana kadar yaratılmayabilir.