Ninject, Gevşek Bağlı Sistemler : Xml

   Gevşek bağlı sistemler geliştirme konusunda önemli bir adım aldığımız önceki makalemde hatırlarsanız size Ninject modülleri ile bağımlılıkları nasıl uygulamanızın dışında tanımlayabildiğinizi sizinle paylaşmıştım. Bu makalemde alternatif bir yöntemle bağımlıkları nasıl xml tanım dosyasından yükleyebileceğinizi anlatacağım.    Tür bağlamalarınızı her ne kadar Ninject modülleri ile olabildiğince esnek yüklüyor olsak da, bu yöntemin ufakta olsa bir…

Ninject, Gevşek Bağlı Sistemler : Modül

   Önceki makalemle birlikte Ninject’e yaptığımız giriş ardından Dependency Injection’ın hayatımızı ne kadar kolaylaştırabildiğini size örnekleyebildiğimi umarım. Şimdi sıra bunu bir adım daha ileri taşımakta. Dependency Injection konusu boyunca hedefimiz her zaman için olabildiğince gevşek bağlı (loosely coupled) bileşenler ortaya koyabilmek olmalı. Bu bakış açışıyla yazı dizisi boyunca örnek olarak kullandığım uygulamanın aşağıdaki main metoduna…

Dependency Injection – Ninject’e Giriş

   Bir önceki yazımla giriş yaptığımız Dependency Injection kavramı ardından sıra geldi Dependency Injection kütüphaneleri incelemeye. Önceliği gerek kullanımın kolay olması, gerekse de görece güncel olması nedeniyle pek çok yeni C# özelliğini kullandıran Ninject’e veriyorum.    Hatırlayacak olursak, bir önceki yazımda bağımlılıkları dışarıdan enjekte edilmek üzere OgrenciIslemleri sınıfımızı aşağıdaki şekilde hazırlamıştık;    Devamında da uygulamamızın…

Dependency Injection Üzerine

   Eğer sizinle de bir nesne yönelimli programla oturumu yaptıysak mutlaka benden duymuşsunuzdur; Üniversite’de okurken nesne yönelimli programlama dersi hocamızın kulağımda yer etmiş bir sözü vardı; nesne yönelimli mimarilerin temel bir prensibi vardır : “SANANE”. Bu prensip olabildiğine basit; fakat bir o kadar da başarılı uygulamaların önünü açan bir yaklaşımdır. Aynı, hayatın kendisi gibi… Araba…

.Net Native!

    Evet, evet başlığı yanlış okumadınız; .Net Native yayınlandı.   .Net geliştirmenin artıları oldukça fazla olsa da unutulmaması gereken önemli de bir performans eksiği var. Her ne kadar günümüz modern bilgisayarlarının işlemci kapasiteleri göz önüne alındığında bu çok da problem yaratmasa da bir de boş tarafı var;   Her geçen gün mobil cihaz pazarı büyümekte…

Release Management, Sürüm Patikası

   TFS ailesinin en yeni üyesi, Release Management, ile ilgili detayları paylaştığım makale serisinde sıra geldi sürüm patikaları (Release Paths) hakkındaki detayları paylaşmaya.    Sürüm patikaları; bir uygulamanın geçmesi gerekli olan tüm evrelerin tanımlandığı patikalardır. Buradaki tanımlama ile hem uygulamanın geçeceği evreleri, hem de bu evrelerin sırasını belirtmiş olursunuz. Bu cümlede dikkatinizi çekmek istediğim kısım…

Dönüş Değerleri; Artık Gözüm Üzerinizde

   Yazılımcı; bilgisayar karşısındaki en büyük savaşını her zaman hata ayıklarken verir. Bunu unutmayın! Bu savaşın en can alıcı anı ise uzun bir debug oturumunun sonunda bir fonksiyonun dönüş değerini bir değişkene atamadan döndüğünü farkettiği andır.. Öyle ki; bu dönüş değerinin doğru hesaplanıp hesaplanmadığını anlayabilmek için uygulamayı sonlandırıp değişken atamasını yapıp tüm süreci baştan yaşamak…

Release Management, Yapılandırma

   Hatırlayacak olursanız Release Management makale serisinin bir önceki makalesinde Sunucu ve İstemci kurulumlarımızı tamamlayarak en son profilimizi güncellemiştik. Bu makelemde kaldığımız yerden devam ederek Release Management ürününün yapılandırmasına geçeceğiz.   Önceki makelemdeki son adım olan profilimizi düzenledikten sonra sırada TFS bağlantısını yapmakta. Configure Apps segmesine geçtiğimizde bizi karşılayan aşağıdaki ekranda TFS Connection linki yardımıyla…

Release Management, Kurulumu

   Hatırlarsanız bir önceki yazımda giriş yapmıştım. Giderek çetinleşen yazılım sektöründeki rekabette bir adım daha öne geçebilmenin yolu pazara hızlı çıkabilmek. Bunun için uygulama yaşam döngüsü yönetiminde (application lifecycle management, ALM) sürüm yönetimi önemli bir bileşen. Microsoft’ta işte tam da bu noktadaki açığını farketmiş olacak ki yakın zaman önce bu alandaki önemli yazılımlardan olan InRelease…

Sürüm Yönetimi Üzerine…

    Günümüzde uygulama geliştirme giderek artan bir rekabete tanık oluyor. Her geçen gün yeni bir fikir, yeni bir ürün karşımıza çıkıyor. Özellikle mobil sistemlerin giderek yaygınlaşmasıyla zirve yapan bu durum karşısında yazılımda rekabetin kurulları da kaçınılmaz olarak değişiyor.     Oyunun bu yeni kurallarında kazanan her zaman en iyi yazılım olmuyor; iyi fikir üretmek ve ilk…