Blog
Blog
Remote Facade Pattern ile Network Verimliliğini Arttırmak
Merhaba arkadaşlar. Bu makalemde sizlere distributed architecture design pattern’leri arasında bulunan Remote Facade pattern’i hakkındaki bilgilerimi aktarmaya çalışacağım. Bu pattern’i anladığımızda her ne kadar basit ve kolay gelecek olsa da, aslında yaptığı iş ve sağlayacağı fayda açısından asla küçümsememeliyiz. Günümüzde mobil uygulamalar sayesinde RESTful tabanlı mimarilerin git gide popülerleşmesi ile birlikte, yeni geliştirilen ve mevcut sistemler yavaş yavaş servis yönelimli mimarilere kaymaktadır. Bu mimarilerin […]
Read MoreRabbitMQ Nedir ve Windows’a Kurulumu
Merhaba arkadaşlar. Bu makale konumda sizlere son zamanlarda üzerinde çalışmış olduğum, server to server bir mesaj kuyruğu sistemi olan RabbitMQ hakkında edindiğim deneyimlerimi aktarmaya çalışacağım. :) RabbitMQ Nedir? RabbitMQ en öz tabiri ile mesaj kuyruğu sistemidir. Publish ve Subscribe mantığı altında çalışmaktadır. Yani bir uygulamadan bir mesajı alıp, bir başka uygulamaya sırası geldiğinde bunu iletmektir. Gerçek hayat içerisinden bir […]
Read MoreAsp.NET Web API’da IHttpRouteConstraint Implementasyonu ile Versiyonlama
Merhaba arkadaşlar. Bu makale konumda ise Asp.NET Web API’da nasıl versiyonlama yapılabileceğini görürken bir yandan da action method’lar üzerinde nasıl custom constraint’ler ekleyebileceğimizi göreceğiz. Dilerseniz fazla uzatmadan hemen konuya girelim. :) Asp.NET Web API içerisinde IHttpRouteConstraint interface’ini implemente ederek, custom constraint oluşturabilmek mümkündür. “System.Web.Http.Routing” namespace’i altında bulunan IHttpRouteConstraint interface’i, aşağıdaki gibi bir method imzasına sahiptir. namespace System.Web.Http.Routing { // […]
Read MoreEntity Framework için Profiler
Merhaba arkadaşlar. Bu makalemde sizlere Entity Framework kullanılarak geliştirilmiş olan projelerde, performans ölçümleri ve refactoring’ler yapabilmek adına Entity Framework için geliştirilmiş olan bir Profiler aracını tanıtacağım. Bu Profiler aracı her ne kadar ücretli olsa da, 30 günlük bir trial sürümü işimizi görmektedir. Makalenin ilerleyen kısımlarında neden free bir Profiler aracı seçmediğimi anlayacaksınızdır. Database Administrator’lar için her ne kadar SQL Profiler […]
Read MoreAsp.NET Web API’da Circular Reference Handling
Merhaba arkadaşlar. Yılbaşından sonra çıkacak olan Asp.Net Web API kitabımıza odaklandığım için bu aralar fazla makale yazamıyorum. Fakat e-mail aracılığı ile gelen sorular ve benimde bir kaç projede karşı karşıya gelmem nedeniyle “Self referencing loop detected” problemini nasıl handle edebileceğimizi kitabın bir bölümünden alarak makale olarak koymak istedim. :) Circular referans yani döngüsel referans, farklı modellerin birbirlerini referans olarak […]
Read MoreLucene.Net Search Engine Kütüphanesi Kullanımı
Merhaba arkadaşlar, uzun bir aradan sonra karşınıza güzel bir kütüphane incelemesi ile geliyorum. Günümüzde yaygınlaşan teknoloji ile artık ciddi anlamda büyük boyutlu veriler ile çalışmaktayız. Zaman zaman bir e-ticaret projesindeki ürünlerin çokluğunu düşünün veya bir sosyal platform sitesini. Özünde geliştirmiş olduğumuz uygulamalarda hepimiz search işlemi yapma ihtiyacı duymaktayız. Eğer geliştirmiş olduğumuz uygulamada verimizin boyutu ciddi […]
Read MoreAspect Oriented Programming (AOP) – Giriş ve Örnek Bir Proje
Merhaba arkadaşlar, bu makalemde Aspect Oriented Programming (AOP) nedir ve birbirleri ile kesişen ilgiler (Cross-Cutting) nelerdir gibi kavramları açıklayarak AOP serisine bir giriş yapmak istiyorum. Uzun zamandır giriş yapmayı düşündüğüm bir konuydu aslında AOP fakat fırsat bulup bir türlü başlayamamıştım. Umarım keyifli bir makale serisi çıkar. :) AOP Nedir ve Neden İhtiyaç Duyarız? Aspect Oriented Programming yaklaşımı, temelinde birbirleri ile […]
Read MoreEntegrasyon (Integration) Testi Nedir ve Tipleri Nelerdir
Merhaba arkadaşlar. Bu makalemde sizlerle Test nedir ve neden önemlidir, Entegrasyon Testi nedir ve Entegrasyon Testi Türleri nelerdir hakkında, tecrübelerim doğrultusunda bilgiler sunmaya çalışacağım. Öncelikle Test nedir kavramını kendimce açıklamak istiyorum sizlere: Projemizde geliştirmiş olduğumuz modül veya operasyonel işlerin, doğru bir şekilde çalıştığını veya farklı modüllerinde eklenmesi durumda hala doğru çalıştığını hızlıca anlayabilmemizi sağlayan yapılardır. Test […]
Read MoreAsp.Net Web API – Token Based Authentication
Merhaba arkadaşlar, bu makalemde Asp.Net Web API ile RESTful servis geliştirirken Token Based bir Authentication işlemi nasıl yapıldığına dair örnek bir proje yapacağız. RESTful’ün önemini kısaca hatırlamak gerekirse: Fazlasıyla basit ve esneklik sağlamaktadır. REST’in HTTP protokolü üzerine kurulmuş olmasıyla beraber günümüz modern web dünyasındaki bir çok uygulamalar kendini browser tabanlı uygulamalara bırakıyor ve artık bir çok işlem client-side tabanlı yapıldığı […]
Read MoreGeneric Repository ve Unit of Work Kullanarak Temel Bir Infrastructure Tasarlamak
Merhaba arkadaşlar, bu makalemde sizlerle Generic Repository ve Unit of Work kurumsal tasarım kalıplarını uygulayarak temel bir alt yapı (infrastructure) tasarlayacağız. Tasarlama sırasında Entity Framework’den yararlanarak code first yaklaşımı ile geliştireceğiz. Tabi ki alt yapımız ORM bağımsız (independent) olacak. Alt yapımızı geliştirirken makul bir seviyede sıkı sıkıya bağlı (tight coupled) olmadan gevşek bağlanmış (loosely coupled) bir şekilde geliştirmeye çalışacağız ki, […]
Read MoreC# Template Method Kullanımı
Merhaba arkadaşlar, Uzun bir bayram arasından sonra Behavioral(Davranışsal) tasarım kalıpları konumuza kaldığımız yerden hızla devam ediyor olacağız. :) Yine kullanım oranı oldukça sık görülen bir tasarım deseni olan Template Method desenini inceleyeceğiz. Template Method deseni için: Şablon bir algoritmamızın soyut(abstract) bir sınıfa implemente edilip, sorumlulukların alt sınıflara dağıtılması işlemidir diyebiliriz. Bu sayede bize katacağı avantajları ele aldığımızda ise: Kod […]
Read MoreC# Strategy Pattern Kullanımı
Tasarım desenleri makale serimize yine Behavioral tasarım kalıpları grubunda yer alan Strategy tasarım deseni ile devam edeceğiz. Açıkçası en sevdiğim GOF(Gang of Four) desenlerinden birisidir de diyebilirim. :) Evet haydi bakalım neymiş bu Strategy? İsminden de anlaşılacağı üzere bir işi yapabilecek birden fazla algoritmamız var ise orada hemen Strategy tasarım deseni ben buradayım diye bağırır. :) En sık kullanılan […]
Read MoreC# Observer Pattern Kullanımı
Tasarım desenleri ile ilgili daha önceki makalemde Behavioral tasarım kalıpları gurubunda yer alan Memento tasarım deseni ile giriş yapmıştık. Bu makalemde de yine Behavioral tasarım kalıpları gurubunda yer alan Observer tasarım deseni ile devam edeceğim. Observer tasarım desenindeki amaç: Tasarlanmış olan sistem içerisinde, değişimini izlemek istediğimiz bir değer için kullanılır. UML Diagramına bir göz atalım: Subject: Takip edilecek […]
Read MoreC# Memento Pattern Kullanımı
Güzel bir konu ile tekrar merhaba arkadaşlar. Bu makalemde sizlere nesnenin hallerini tutma ihtiyacı duyduğunuzda yani nesnenin farklı halleri arasında geçiş yapabilmeniz gerektiği durumlarda kullanabileceğiniz güzel bir tasarım deseni olan Memento Pattern’inin kullanımından bahsedeceğim. Açıkcası GOF tasarım desenleri hakkındaki makalelerime başlangıcımı uzun zamandır düşünüyorum fakat bir türlü fırsat bulamamıştım, bir projem üzerinde kullanmam gerekince bu bana adı […]
Read MoreWPF INotifyPropertyChanged Nedir ve Implementasyonu
Merhaba arkadaşlar, WPF’e giriş makalemi binding modları üzerinde yapmıştım ve şimdi en az bindingsler kadar önemli olan INotifyPropertyChanged arayüzü nedir ve nasıl implemente edilir onun üzerinde duracağız. Ne işe yarar bu INotifyPropertyChanged arayüzü? Bir property’nin(özelliğin) değeri değiştiği zaman bu değişimi eş zamanlı olarak view(arayüz) kısmına bildirilmesini sağlar. Daha iyi anlayabilmek için basit bir örnek yapalım. Örneğimizde Gird içerisinde 2 adet TextBox […]
Read More
