Adapter Pattern Nedir

Bu yazımda Adapter Pattern i açıklamaya çalışacağım.Decorator patternde,objelerimizi sarıp onlara yeni sorumluluklar veriyorduk.Amerika dan aldığımız laptop vs priz girişlerinin farklı olduğu dikkatinizi çekmiştir.Bu prizleri Türkiye de kullanabilmek için adaptör alırız.Bu gerçek yaşamdan kısacası bu örneği verebiliriz.Peki design pattern de kulanımı nasıl,bir interface i uygularlar ve client in beklediği duruma adapte ederler diyebiliriz. Var olan bir […]

C# Feature Toggle Kullanımı

Feature Toogle,Feature Flags, Feature Bits, or Feature Flippers adlarıyla da bilinen,sistem davranışlarını değiştirmeden kodumuzu geliştirmeye yarayan bir tekniktir.Var olan kod repomuzda ekipteki diğer kişiler çalışmaya devam ederken,sizin yaptığınız geliştirmenin,refactoring belki,aylar alacaktır.Bu süreçte kod bloğunu master veya ana repomuz hangisiyse ondan güncel tutmaya çalıştıkça,baş edilemeyen merge issue ları çıkacaktır.Bu gibi durumları aşabilmek için Martin Fowler ın […]

Command Design Pattern

Command Design Pattern,Behavioral(Davranışsal) tasarım kalıplarından birisidir. Genellikle,algoritmayı ,nesneler arasındaki ilişki ve sorumlulukları yönetmek için kullanılır. GOF kitabında tanım olarak aşağıdaki ifade verilmiştir. Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.

Singleton Pattern

Singleton pattern,kısaca nesnemizden sadece bir örnek oluşturulup kullanılmasıdır. Hangi durumlarda kullanırız.Thread pools,cache,kayıt defteri gibi merkezi durumda olan ayarları kullanan objeler,loglama için kullanacağımız obje leri yaratırken bu pattern i uygulayabiliriz.Birden fazla obje oluşturmanın sistem üzerinde oluşturacağı yanlış durumlar oluşturacağı zaman yararlanabiliriz. Global variable tanımlayıp kullanmadan farkı nedir diyecek olursak,global variable atadığımız bu obje uygulamanın başlangıcında oluşturulur.Bu […]

Interface Explicit vs Implicit

Explicit ve Implicit interface implementasyonlarını açıklamaya çalışacağım.Explicit  apaçık, vâzıh, sarih, âşikâr, açık-seçik, anlaşılmadık nokta bırakmayan anlamına gelmekte.Implicit ise gizli, saklı, âşikâr olmamakla beraber gizlice anlaşılabilen, aslında olan olarak karşılıkları yer almakta sözlükte. Basit olarak implicit olarak implemente ettiğimizde ,interface methodlarımıza vs direk olarak erişebiliriz.Explicit de ise sadece class ımızı interface e cast ederek kullanabiliriz. Explicit interface […]