Sadece bir sınıfa özel olan arayüzleri diğer sınıflarla uyumlu arayüzler haline getiren bir tasarım kalıbıdır. Adaptörler uyumlu olmayan arayüzler sebebiyle birbirleri ile çalışamayan sınıflara da birbirleri ile çalışma imkanı sunarlar.
using System;namespaceAdapter{classProgram{staticvoidMain(string[]args){ProductManagerproductManager=new ProductManager(new MdLogger());
productManager.Save();
Console.WriteLine("-----------------");ProductManagerproductManager1=new ProductManager(new Log4NetAdapter());
productManager1.Save();
Console.ReadKey();}}classProductManager:IProductService{privateILogger_logger;publicProductManager(ILoggerlogger){_logger=logger;}publicvoidSave(){
_logger.Log("UserData");
Console.WriteLine("Saved");}}interfaceIProductService{voidSave();}interfaceILogger{voidLog(stringmessage);}classMdLogger:ILogger{publicvoidLog(stringmessage){
Console.WriteLine($"Logged with mdlogger, {message}");}}classLog4Net{publicvoidLogMessage(stringmessage){
Console.WriteLine($"Logged with log4net, {message}");}}classLog4NetAdapter:ILogger{publicvoidLog(stringmessage){Log4Netlog4Net=new Log4Net();
log4Net.LogMessage(message);}}}
Bir inşaatçı görev üstlenen yaklaşım sergilemektedir. Projemiz inşa süresindeyken oluşturacağımız bazı nesnelerin üretimleri oldukça maliyetli olabilir, zamanla bu nesnelerin yapısı değişebilir yahut güncellenebilir. Anlayacağınız nesne üzerinde her türlü dinamik süreç yaşanabilir. İşte bu tarz inşa durumlarında Builder Design Pattern ile ilgili nesneler genişletilebilir bir hale getirilmekte ve en önemlisi kod karmaşalığı minimize edilmektedir.
Class kullanımını seviyelendiren bir tasarım desenidir. Basitçe herhangi bir class/fonksiyon içinden diğer class/fonksiyon'ları çağırmaya yarayan desendir. Facade deseni sistem karmaşıklığını gizler ve client(istemci)'nin sisteme erişmesini sağlayan bir arabirim görevi üstlenir. Bu desen bir grup class'ı ve özelliklerini (fonksiyon/değişken vb.) içeren tek bir ana sınıf olarak görev yapar.
Oluşturduğumuz bir interface ya da abstract sınıftan türeterek başka bir sınıf oluşturma işlemine verilen addır Factory Pattern. Oldukça sık kullanılan bu pattern aynı özelliği kullanmak isteyen sınıflar tarafından kullanılır.