Skip to content

Category: Design Patterns

Observer Pattern

Observer pattern, nesneler arasındaki iletişimi yönetmeyi amaçlar. En temel anlamda bir nesnenin durumu değiştiğinde, değişikliği bu nesneyi gözlemleyen diğer nesnelere (gözlemcilere) ileten bir yapıdır. Temel bileşenlerinden ise şöyle bahsedebiliriz; Patternin çalışma akışı ise: Örneğin, bir … Read more

Memento Pattern

Behavioral design patternlardan birisi olan memento patternin temel amacı ve çözüm sunduğu nokta bir nesnenin t anındaki statetini/durumunu tutarak, istenildiği zaman (t+n anında) geri t anındaki nesneye dönebilmemizi sağlar, özellikle programlama dillerinde sıklıkla karşılaşılan bir … Read more

Mediator Pattern

Behavioral design patternlerden biri olan mediator patternin temel amacı nesneler arasındaki karmaşık iletişim sürecinin ortak bir nesne üzerinden yürümesini sağlayarak bağımlılığı azaltmak, sadeleştirmek ve daha yönetilebilir hale getirmektir. Tasarım kalıbı için verilen çok güzel bir … Read more

Singleton Pattern

Singletonu anlatmaya geçmeden önce pythonda özel bir kaç magic methoddan bahsetmekte fayda olduğunu düşünüyorum. Bildiğimiz üzere pythonda her şey bir nesnedir ve nesneler belirli yaşam döngüleri ve çalışma mekanizmalarına sahiptir. Temelde nesneler inşa edilir/oluşturulur (construction), … Read more

Iterator Pattern

Davranışsal tasarım desenlerinden biri olan iterator pattern, bir koleksiyondaki öğeleri sırayla işlemek için bir arayüz sağlamayı amaçlar, Iterator, koleksiyondaki öğeleri tek tek döndüren bir nesnedir ve koleksiyondaki ögelerin işlemlerinin yapılmasını sağlar. Temel amacı, bir nesnenin … Read more

Chain of Responsibility Pattern

Chain of Responsibility (Sorumluluk Zinciri) tasarım deseni, bir request nesnesinin bir dizi handler nesnesi tarafından işlenmesi için kullanılır. İsteğin bir işlemci tarafından işlenememesi durumunda, isteği diğer işlemcilere yönlendirerek işlemin gerçekleştirilmesini sağlar. Temel amaç bir dizi … Read more

Builder Pattern

Builder pattern veya builder method isimlendirmeleriyle kaynaklarlarda rastlayabileceğiniz konsept creational/yaratımsal bir tasarım kalıbıdır. Uygulamalarımızı geliştirirken zaman zaman ihtiyaçlar değişir ve uygulamanın buna ayak uydurması gerekir, bu durumunda complextyi artıracağı bir gerçektir. __init__ metodunda 10 farklı … Read more

Command Pattern

Command pattern’in temel amacı, nesnelerin arasındaki ilişki ve etkileşimleri düzenlemektedir, temelde bir istemcinin isteğini bir nesneye bağlar, bunu yapaykende isteğin hangi nesne tarafından ve nasıl işleneceği tamamen soyutlanmış durumdadır. Sonuçta elde ettiğimiz yapıda işlem istemciden … Read more

Strategy Pattern

Strateji pattern behavioral(davranışsal) bir pattern olup, bir nesnenin belirli bir işlevselliği farklı şekillerde gerçekleştirmesi gerektiği durumlarda davranışını değiştirerek runtimeda istenen işlevin yerine getirilmesini sağlar. Kısacası belirli bir görevi yerine getirmek için farklı stratejilerin kullanılmasına olanak … Read more

Prototype Pattern

Prototip, “Genel terminoloji ve semantikte belirli bir kategoride ele alınabilecek herhangi bir somut nesne, varlık veya olgunun geri kalanlar için örnek teşkil edebilme vasfına sahip ilk ve en ilkel türevidir. Çok öğeli bir kümede grubun kendinden sonraki diğer tüm üyelerinin karakteristik özelliklerinin karşılaştırılarak tasnif ve derecelendirme yapılabilmesini … Read more