Skip to content

Tag: Python

Memory Management in Python

Bellek yönetimi kavramı temel olarak belleğe veri ekleme(allocation) ve çıkarma(deallocation) işlemlerini içerir. Geliştirme sürecinde, genellikle Python’un otomatik bellek yönetimi özelliği sayesinde bu konuya ekstra bir çaba göstermemiz gerekmez. Ancak, bellek yönetimi konseptlerine hakim olmak ve … Read more

Python Protokol Kavramı

Sıklıkla duyduğumuz ve bildiğimiz üzere python dinamik tipli bir programlama dilidir, dinamik tipli dillerde bir değişkenin veya nesnenin türünün atanması ve kontrolü çoğunlukla runtimeda yapılır. Statik tipli dillerde ise bu işlem derleme anında yapılır ve … Read more

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