Merhabalar, bu yazıda Tasarım Desenleri (Desing Patterns) kullanımına değineceğim. Tasarım desenleri, yazılım geliştirirken sıklıkla karşılaşılan sorunlara nesneler ve sınıflar ile ilişkileri ve etkileşimleri ile çözümler getiren kalıplardır. Tasarım desenleri 3 ana gruba ayrılır.

Behavioral Patterns (Davranışsal Desenler)

Chain of Responsibility (Sorumluluk Zinciri) : Bir isteğin belli sınıflar içinde gezdirilerek ilgili sınıfın işlem yapmasını yöneten tasarım desenidir.

Command (Komut) : İşlemlerin nesne haline getirip, başka bir nesne ile tetiklenen tasarım desenidir.

Interpreter (Yorumlayıcı) : İşlemlerin nesne haline getirip, başka bir nesne ile tetiklenen tasarım desenidir.

Iterator (Tekrarlayıcı) : Behavior grubuna ait, nesne koleksiyonlarının elemanlarını belirlenen kurallara göre elde edilmesini sağlayan tasarım desenidir.

Mediator (Aracı) : Çalışmaları birbirleri ile aynı arayüzden türeyen nesnelerin durumlarına bağlı olan nesnelerin davranışlarını düzenler.

Memento: Bir nesnenin tamamının veya bazı özelliklerinin tutularak sonradan tekrar elde edilmesini sağlar.

Observer (Gözlemci): Bir nesnede meydana gelen değişikliklerde içinde bulundurduğu listede bulunan nesnelere haber gönderen tasarım desenidir.

State : Nesnelerin farklı durumlarda farklı çalışmalarını sağlar.

Strategy: Bir işlemin birden fazla şekilde gerçekleştirile bilineceği durumları düzenler.

Template Method: Bir algoritmanın adımlarının abstract sınıfta tanımlanarak farklı adımların concrete sınıflarında overwrite edilip çalıştırılmasını düzenler.

Visitor: Uygulamada ki sınıflara yeni metotlar eklenmesini düzenler.

Creatinal Patterns (Kurucu Desenler)

Singleton: Uygulamanın yaşam süresince bir nesnenin bir kez oluşturulmasını sağlar.

Abstract Factory: Birbirleri ile ilişkili sınıfların oluşturulmasını düzenler.

Builder : Birden fazla parçadan oluşan nesnelerin üretilmesinden sorumludur.

Factory Method: Aynı arayüzü kullanan nesnelerin üretiminden sorumludur.

Prototype: Var olan nesnelerin kopyasının üretiminden sorumludur.

Structural Patterns (Yapısal Desenler)

Adapter: Uygulamada ki bir yapıya dışarıdaki bir yapıyı uygulamayı düzenler.

Bridge: Nesnelerin modelleme ve uygulanmasını ayrı sınıf hiyerarşilerinde tanımlanmasını düzenler.

Composite: Ağaç yapısında ki nesne kalıplarının hiyerarşik olarak iç içe kullanılmasını düzenler.

Decorator: Bir yapıya dinamik olarak yeni metotlar eklenmesini düzenler.

Facede: Alt sistemlerin direkt olarak kullanılması yerine alt sistemdeki nesneleri kullanan başka bir nesne üzerinden kullanılmasını sağlar.

Flyweight: Sık kullanılan nesnelerin bellek yönetimini kontrol etmek için kullanılan bir tasarım desenidir.

Proxy: Oluşturulması karmaşık veya oluşturulması zaman alan işlemlerin kontrolünü sağlar.

0 Yorumlar