Cepheye Yönelik Programlama

Yazılım dünyasında başlıca endişelerinden biri, yazılımdaki parçaların biri birine çok bağlanmasıdır(high coupling, cross-cutting concerns). Bu durum yazılımın belirli bir noktadan sonra anlaşılmaz, ayrıştırılamaz, ilerletilebilemez hale gelmesine yol açar. Çare olarak yazılımcılar, en yaygın yöntem olan yazılım şablonlarını kullanırlar. Fakat, bazen işler o kadar karmaşık bir hal alır ki artık, yazılım şablonları da karmaşayı sonlandıramaz. Bu noktada cepheye yönelik programlama(aspect-oriented programming, […]

FC Barselona Rüya Takım mı?

Son zamanlarda medyada özelliklede goal.com’da lanse edilen bir olay var; şu anki barselona takımı bütün zamanların en iyi takımı mı. Yalnız Barselona’ya bütün zamanların en iyi takımı diyebilmek için, futbolun en eski zamanlarından şu ana kadar gelip geçen en iyi  takımlar ile karşılaştırmak gerekiyor. Barselona’yı değerlendirmeden önce biz bu takımları tanıyalım. Daha sonrasında da Barselona ile karşılaştırarak, Barselona’nın en iyi […]

Jose Mourinho

Yazımın başında size Mourinho’yu kısaca tanıtmak istiyorum. Jose Mourinho, 26 Ocak 1963’te Portekiz’in Setubal şehrinde doğdu.  Baby Robson’ın yanında çevirmen olarak başladıktan sonra, kariyerine Barcelona’da devam etti. Burada da futbolcular ile teknik direktörler arasında çevirmenlik yaptı. Daha sonraları Louis Van Gaal’in isteği üzerine Barcelona B’nin teknik direktörlüğüne getirildi. Ayrıca bir kaç maçtada Mourinho’dan yardımcı teknik direktör olarak yararlandı. Mourinho ilk […]

Mediator

Bu yazımda size Mediator adındaki nesneye dayalı yazılım şablonunu (Object-Oriented Design Pattern) anlatacağım.Mediator bize, bjeler arasında fazla bağ kurmadan (tight-coupled) işlemlerimizi yapabilmeyi sağlar. Buradaki amacımız, objelerin biribirini bilmesine gerek kalmadan, bizim yarattığımız mediator sınıfını kullanarak işlerini yapabilmesidir. Genellikle ara yüz yazılımında kullanılan bu şablona şöyle bir örnek verebiliriz.  3 tane ışığımız var ve biz bunların kontrolünü sağlayacağız. Bu ışıklardan her […]

Strategy

Bu yazımda size Strategy adındaki nesneye dayalı yazılım şablonunu (Object-Oriented Design Pattern) anlatacağım. Bu şablonun genel amacı yapılacak iş için alternatifler oluşturup, bu alternatifleride çalışma zamanında(runtime) seçebilme kabiliyetini sağlamaktır. Buna örnek verecek olursak, bir sıralama algoritması yazmak istiyoruz. Ama  bize verilen nesnelerin sayısı 30 dan küçük olduğunda insertion sort, büyük olduğunda da quick sort kullanacağız. İşte bu durumda bize, bu […]