Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

Tasarım Desenleri – Single Responsibilty Prensibi

Kod geliştirmeye ilk başladığımızda hepimiz şöyle bir yol izlemişizdir. Yeni bir proje oluştur önüne gelen ilk sınıfa bütün kodları yerleştir. Bir sınıf her şeyi yapardı ; ekrana veriyi gösterir , veritabanına kaydeder, excel export eder vs…Daha sonra proje büyüdükçe farkına varırız ki bazı işlemleri ayırıp projenin bir başka tarafında da kullanmak kodun kopyalanıp yapıştırılmasından daha etkin bir yöntem olduğunu anlarız.

Peki neden? Bir işi tekrar tekrar yapmak insanın canını sıkabiliyor. Ayrıca bir değişiklik gerektiğinde CTRL-F ile o kodları projede bulup hepsini teker teker değiştirmek zorunda kalıyoruz. Hem yönetilmesi hem de bakımı çok zor kodlar oluşuyor zaman içerisinde. Daha sonra uygulamayı sınıflara bölmek de yetmemeye başlıyor ve projelere ayırıyor ki başka projelerde direk referans alarak kullanabilelim.Hatta katmanlara ayırıyoruz klasik olarak veri, iş ve gösterim katmanları. Her bir katmanı bağımsız olarak başka projeler ile kullanabilecek şekilde tasarlamaya çalışıyoruz. Her ne kadar pratikte mükemmeli yakalayamasakta.

Bir sınıfın ne kadar çok sorumluluğu olursa başka sınıflara olan bağımlılıkta buna paralel olarak artmaktadır. Mantığımız değişmesi muhtemel sınıfları olabildiğinde diğer sınıflardan soyutlamak olmalıdır.Ayrıca en basit ve anlaşılır yazmalı kodumuza bakan bir programcı düz bir yazı okuyormuş gibi hissetmeli kendisini. Pratikte her şey maalesef ki her zaman istediğimiz gibi olmuyor ancak olabildiğince bunlara dikkat etmekte fayda var.

Örneğin bir Musteri isminde sınıfımız varsa bu sınıf sadece müşterinin özelliklerini taşımalı adı,soyadı,bakiyesi gibi. Bu sınıfta hiçbir şekilde bir sql cümlesi yer almamalıdır.

Reklamlar

Kasım 6, 2010 - Posted by | C# | ,

Henüz yorum yapılmamış.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s