Tanım: Bir yazılımda belirli bir amacı gerçekleştirmek için en basit ve en doğru çözümü gerçekleştirmenizi sağlayan şablon. Bu şablondaki tasarıyı kullanarak amacınıza daha doğru ve hızlı bir şekilde ulaşabilirsiniz.
Tanım: Çok farklı özellikleri olan sınıfların nesnelerin oluşturma sürecini basitleştirmek ve kolaylaştırmak için kullanılan tasarım şablonu.
Tanım: Bir sınıftan (class) yaratılmış bir nesneden kopyalanarak yeni nesneler üretmeyi sağlayan tasarım şablonu. Yeni bir nesne yaratmanın çok iş yükü getirdiği sınıflarda bu yöntem kullanılabilir.
Tanım: Bir sınıfın method'larını , kullanmak isteyen başka bir sınıf için kullanılabilir hale getirmeye yarayan tasarım şablonudur
Tanım: Bir class'ı extend etmeden ek özellikler eklemek için kullanılan tasarım şablonudur. Bu şekilde çok sayıda class'a benzer özellik kazandırılabilir.
Tanım: Bir class'a erişimlerin vekil (proxy) class'ları ile yapılmasını sağlayan tasarım şablonu. Bu şekilde class'a erişimler denetlenebilir veya başka işlemler yapılabilir.
Tanım: Aynı interface (arayüz) ile farklı sistemlerde çalışacak class'ların geliştirilmesi için kullanılan tasarım şablonu. Bu şekilde aynı yapı farklı sistemler için uygulanabilmektedir.
Tanım: Birden fazla aynı class tipinden nesneler barındıran class'ları (hiyerarşik yapıya sahip, parça-bütün şeklindeki class'lar) kolay bir şekilde yönetmeyi sağlayan tasarım şablonu
Tanım: Bir uygulamada daha az nesne yaratılmasını (yeni bir nesne yaratmak yerine yaratılmış nesnelerden kopya oluşturulur) sağlayan tasarım şablonu
Tanım: Belirli bir işlem içeren kodların (method) bir nesne haline getirip istenildiği zaman çağrılabilir olması için kullanılan tasarım şablonudur. Bu şekilde işlemler bir "komut" şeklinde getirilmekte ve istenildiği zaman çağrılmakta veya geri alınabilmektedir.
Tanım: Bir nesnenin herhangi bir zamandaki durumlarının saklanıp, daha sonra tekrar o duruma geri getirilebilmesi için kullanılan tasarım şablonudur. Örneğin undo-redo bu tür bir tasarım şablonu ile yapılmaktadır.
Tanım: Bir nesnenin durumuna göre davranışının (methodlarının farklı çalışması) farklı olmasını sağlayan tasarım şablonudur.
Tanım: Bir nesnenin durumunda değişiklik olduğu zaman (bir olay veya veri değişikliği vs..) bir veya birden fazla kod bloğunun çalışmasını sağlayan tasarım şablonu.
Tanım: Aynı görevin veya işlevin birden fazla yapılış şekli olduğu durumlarda hangi yöntemin kullanılacağının karar verilmesini ve o yönetimin kullanılmasını sağlayan tasarım şablonudur.
Tanım: Bir istek (veya komutun) birden fazla işleyici class'a sırayla verilmesi ile işleyici class'ın tespit edildiği tasarım şablonudur. İşleyici class'lar sıra ile (zincir şeklinde) çağrılır ve işlemesi gereken class tespit edildiğinde bir sonraki işleyici class çağrılmaz ve zincir sona erer.
Tanım: Farklı class'ların birbirlerini kullanmadan veya bilmeden iletişim kurmalarını sağlayan tasarım şablonu. İletişi aracı bir class üzerinden sağlanmaktadır.
Tanım: Bir dil ile yazılmış bir yazıyı değerlendirmek ve işlemek için kullanılan tasarım şablonudur. Dili işleyebilmek için her sembole bir class yaratılır.
Tanım: Sınıf hiyerarşisindeki class'larda değişiklik yapmadan bu sınıflara yeni bir method eklemek için kullanılan tasarım şablonudur.
Tanım: Bir algoritmada çağrılacak methodların soyut olarak tanımlanması nedeniyle aynı algoritmanın farklı şekillerde işlenmesini sağlayan tasarım şablonudur. Bu tasarımda algoritma şablon halinde tanımlanır.
Tanım: Bir uygulamada bir sınıfın (class) uygulama boyunca sadece tek bir nesnesinin (instance) yaratılması ve her zaman aynı nesnenin kullanımasını sağlayan tasarım şablonu
Tanım: Bir class veya interface'i implement etmiş (türemiş) birden fazla farklı class'lardan hangisinin üretileceğine karar verip uygun nesneyi oluşturmak için kullanılan tasarım şablonu. Factory olarak kullanılan sınıf verilen bilgiye göre uygun olan class'ın nesnesini yaratır ve o nesneyi döndürür.
Tanım: Birden fazla class veya yazılım koduna tek bir sınıf üzerinden erişilmesini sağlayan tasarım şablonudur. Bu tek sınıf sayesinde diğer sistemlerden bağımsız kod yazılabilmektedir.
Tanım: Bir liste yapısında saklanan nesnelerin kendisi veya saklanış biçimi hakkında bilgi olunmamasına rağmen liste üzerinde sırayla gezinebilmeyi, listeye elaman eklemeyi veya elaman silmeyi sağlayan tasarım şablonu.
Tanım: Bir yazılım arayüzünde, kullanıcı etkileşimleri ile görünümün (sunum katmanının) birbirlerinden bağımsız çalışmasını sağlayan tasarım şablonudur. Kullanıcı tarafından yapılan bir etkileşim , Controller aracılığıyla Model'e iletilir ve Model ise arayüzün (View) kullanıcıdan gelen isteğe göre yenilenmesini sağlar
Tanım: Yazılımda işlev ve özelliklerine göre programlama kodlarını (class, fonskyion vb..) birbirinden ayırma veya soyutlama. Yazılımda bir çok tasarım şablonunun temel prensibi budur
Tanım: Bir yazılımda, fonksiyon, method, sınıf ve modüllerin , birbirine olan bağımlılıkları. Bir yazılımda fonksiyon, method, sınıf ve modüllerin olabildiğince bağımsız olmasına loose coupling (düşük bağımlılık - lov coupling) adı verilir ve yazılımın kalitesini göstermektedir
Tanım: Bir yazılımda fonksiyon, method, sınıf ve modüllerin birbirinden olabildiğince bağımsız olması. Bu değer yazılımın kalitesini gösteren özelliklerden biri olarak kabul edilmektedir.
Tanım: Bir yazılımda fonksiyon, method, sınıf ve modüllerin birbirine olan bağımlığını azaltılması. Bir yazılımda fonksiyon, method, sınıf ve modüllerin olabildiğince bağımsız olmasına loose coupling (düşük bağımlılık - lov coupling) adı verilir ve yazılımın kalitesini göstermektedir
Tanım: Bir yazılımda, nesne yaratma ve buna benzer akış kontrolünün , programcıya veya yazılım bölümüne değil, çalışılan ortama, framework'e veya genel bir kütüphaneye bırakılması şeklindeki yöntem. Bu yöntem, nesnelerin birbirine bağımlılığını azaltmakta ve daha modüler kodların yazılması sağlamaktadır
Tanım: Bir yazılımda, nesne yaratma ve buna benzer akış kontrolünün , programcıya veya yazılım bölümüne değil, çalışılan ortama, framework'e veya genel bir kütüphaneye bırakılması şeklindeki yöntem. Inversion of Control - IoC'ın diğer bir adlandırmasıdır. Bu ifadeye, Hollywood filmlerinde geçen "don't call us we will call you" cümlesinden dolayı Hollywood prensibi adı verilmiştir
Tanım: Bir sınıf içine, başka bir fonksiyon, method, sınıf ve modüllerin, bağımlılık yaratmayacak şekilde inject edilmesi (zerk edilmesi). Dependency Injection, Inversion of Control - IoC prensibini sağlamak için kullanılan bir yöntemdir