25 Ocak 2016 Pazartesi

Factory Design Pattern

Bir sınıf veya bir interfaceten türeyen ve aynı metotlara sahip birden çok sınıfınız varsa ne yaparsınız.
Örnek olarak bir Personel interface'imiz olsun ve içinde maaş bilgisini ve personelin ünvanını getiren metotlarımız olsun. Böylece bütün sınıflarımızı buradan kontrol edebiliyoruz. Bir değişiklik gerektiğinde tüm projede teker teker sınıflarımızı arayacağımıza buradan gerekli değişiklikleri yapıp tüm projeye entegre edebileceğiz. Aslında bir nevi kontrol merkezi kurmuş olacağız :)

Bu iki metot her sınıfta olacaktır. Elimizde de uzman yardımcısı, uzman, kıdemli uzman, teknik müdür ve müdür sınıflarımız olsun. Kullanacağımız patter factory pattern'dir. Peki bu pattern'i nasıl kullanacağız?

MVC Angular Kullanımı : Listeleme, Filtre ve Sıralama İşlemleri

Daha önceki angular yazımda sizlere listeleme, filtreleme ve sıralama işlemlerini yazacağımı söylemiştim. Gün bugündür diyerek yazımı yazmaya başlıyorum :)

Bir önceki yazımda tek bir nesne üzerinden işlem gerçekleştirmiştim. Artık birden çok veriyle çalışmamızın zamanı geldi. Bunun için daha önceki yazımda kullandığım gibi yine bir Personel sınıfı kullanacağım.

personel class











24 Ocak 2016 Pazar

C# Composite Design Pattern Kullanımı

Geçenlerde design pattern'ları araştırırken daha önce bilmediğim ama projelerimde bilinçsizce de olsa kullandığım bir pattern olduğunu öğrendim. Bu yapıyı bir ay önce bir MVC projesinde dinamik menü yapımı için kullanmıştım. Demekki insanlar bunu daha önce çok kullanmış ve pattern haline getirmiş :)

Bende biraz daha detaylı inceledikten sonra bu yapıyı size bir örnek ile göstermek istedim. Oldukça kullanışlı ve hiyerarşi işlemlerinde kullanılan bu pattern'e hep beraber bakalım. Tabi ben bu örneği genelde olduğu gibi MVC'de gösteriyor olacağım.


22 Ocak 2016 Cuma

Hangi Browser'dasınız?

Konu başlıkta açıkladığım gibi çok net. Bir uygulamanız var ve bu uygulamanızı kullanıcının açtığı browser'a göre özelleştireceksiniz. Bunun için de kullanıcının hangi browserdan giriş yaptığını bilmeniz gerekiyor. O zaman kısa ve net bir şekilde aşağıdaki kodları kullanmanız yeterli olacaktır.

var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
    // Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined';   // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
    // At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera;              // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode;   // At least IE6

var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
document.body.innerHTML = output;

Kaynak : https://jsfiddle.net/wvbdnb8o/

MVC Angular Kullanımı:Başlangıç

Geçenlerde şöyle internette bir gezineyim dedim. Tabi genel olarak baktığım konu yine MVC'ydi. Sadece bu sefer ek olarak SignalR konusunu da araştırıyordum. Biraz gezindikten sonra karşıma Bora Kaşmer'in sitesi  denk geldi. Açıkçası ufkumun bu kadar açılacağı Türkçe bir sayfa bulmak beni çok mutlu etti.

İlk olarak MVC konusuna girdim tabiki. Yazıları okurken seminerlerde yapılan örneklerin olduğu bolca kod örneği bulabilirsiniz. Tabi asıl araştırdığım konu SignalR'dı ama örneklerde genelde angular vardı. İlk olarak SignalR konusunu anladıktan sonra Bora Kaşmer'i de bol bol rahatsız ederek angular konusuna daha fazla önem vermeye karar verdim. Sağolsun kendisi de her soruma cevap verdi.

Şimdide öğrendiklerimi sizlerle paylaşma aşamasına geldim. Bu kadar sözden sonra artık kodlamaya başlayalım.

20 Ocak 2016 Çarşamba

Jquery ile HTML MasterPage Oluşturmak

Web sitelerinde menüler, reklamlar vb alanların her sayfada bulundukları dikkatinizi çekmiştir. Peki her sayfa için bu alanlar tekrar tekrar Html olarak oluşturuluyor mu? Tabi ki hayır. Bu alanlar masterpage olarak adlandırılan ve her sayfa sabit bulunacak alanları içinde tutan bir sayfadan geliyor. Sayfada değişecek alanlar ise sayfanın kendi içerisinde oluşturuluyor ve daha sonra masterpage'in içine entegre oluyor. Peki masterpage kullanmazsak ne olur?

Otuz sayfalık bir projeniz olduğunu düşünün. Masterpage kullanmıyorsunuz ve her sayfanızda 5 tane menümüz, altında sabit footerımız ve arkada bir arkaplan resmi olduğunu varsayalım. Bu durumda menülerden birinde değişiklik yaptığınızda otuz sayfada da teker teker bu işlemi uygulamanız gerekecek. Bu hem maliyet açısından hemde hata yapma oranı açısından büyük bir dezavantaj. Biz bu sorunu jquery ile çözeceğiz.

6 Ocak 2016 Çarşamba

Bootstrap Modal Kullanımı

Herkesin projelerde bolca kullandığı popupları bootstrap ile nasıl yapacağımızı bu yazımda sizlerle paylaşacağım. Öncelikle bootstrap nedir diye merak eden arkadaşlar bu linkten bootstrap'i detaylı olarak inceleyebilirler.

Şimdi tasarıma bakalım. İlk olarak sayfamıza bir modal ve iki adet buton koyalım. Bunlardan birincisi modalımızı gösterecek olan buton diğeri ise gizleyen buton olacak. Ben bu işlemleri MVC'de yapıyor olacağım.

MVC'de bootstrap içinde mevcut geliyor o nedenle sayfama bootstrap linklerini eklemedim ama siz html olarak oluşturacaksanız yukarıdaki linkten bootstrap'i indirerek gerekli kütüphanelerin linklerini sayfanıza eklediğinizde kullanabiliyor olacaksınız. Tabi ben sayfamda birde jquery kullandım. Onun kütüphanesini de sayfanıza eklemeniz lazım.

MVC PartialView Kullanımı

Yeni bir yazıyla merhaba. Bu yazıda sizlere MVC'de PartialView kullanımını elimden geldiğince anlatacağım. PartialView'leri viewlere yapacağımız yama gibi düşünebilirsiniz.

Ayrıca benzer bir örnekde masterpagelerin içindeki content alanları da olabilir. PartialViewler de normal sayfalarımız içindeki contentler gibi düşünülebilir.