Archive for the ‘Tasarım Desenleri’ Category

Tasarım Desenleri : Abstract Factory

Pazar, Ocak 24th, 2010

Bu desen Factory Method desenine çok benzer. Amaç yine aynıdır. Sistemden nesnelerin oluşma işini soyutlar. Abstract Factory benzer özellikleri olan nesne fabrikalarını gruplar. İçinde birden fazla fabrika vardır. Örneğimizde birden fazla türde database'de kaydetme ve sorgulama işlemlerini gruplamak için soyut fabrikayı kullanıyoruz : Kısaca kodlarına da bakalım :

Tasarım Desenleri : Factory Method

Cumartesi, Ocak 23rd, 2010

Bu tasarım deseni nesne oluşturma işini sistemden ayırır ve aldığı parametreye göre nesneleri oluşturarak kullanıcıya geri döner. Bir örnek verecek olursak düşünün ki gezmeye giderken farklı yöntemleriniz olsun. Ben şimdilik iki tane kullanacağım : Araba ve Bisiklet. Bu iki sınıf "Yöntem" arayüzümüzden türemişler. Bir adet de YöntemFabrika'mız var. Yöntem.cs interface Yöntem { void Gez(); } Araba.cs class Araba ...

Tasarım Desenleri : Singleton

Cumartesi, Ocak 23rd, 2010

Türkçe'ye Tek Nesne olarak çevrilen bu tasarım desenindeki ana amaç bir nesnenin yalnızca bir kez oluşturulabilmesidir. Buna neden ihtiyaç duyarız sorusuna gelince mesela bir bağlantıyı dinleyen nesneniz olsun. Bunu ikince kez yaratmak kimi zaman sorunlara yol açabilir. Sonuçta bunlar sonsuz threadlerdir. Onun yerine bu nesne bir kez yaratılsın ve ihtiyaç ...

MDI Formlarda Child Formun İki Kere Açılmasını Önlemek

Cuma, Kasım 27th, 2009

MDI formlarda child formun iki kere açılmasını önlemek için singleton tasarım desenini kullanacağız. MDI form olarak tanımlanmış formumuz Form1 olsun. Bunun içinde açacağımız child form ise Form2 olsun. Form1de herhangi bir şekilde Form2 çağrıldığında sadece bir tane instance oluşturarak bir tane açılmasını istiyorum. Bunun için Form2nin classına şu kodu yazalım.   static ...

Tasarım Desenleri (Design Patterns) Nedir?

Cumartesi, Kasım 14th, 2009

Adını son zamanlarda sıklıkla duymaya başladığımız tasarım desenleri nedir, ne işe yarar? Tasarım desenleri bir yazılım problemini çözmek için geliştirilmiş çeşitli çözüm yollarıdır. Zaman içersinde pek çok uygulamada karşılaşılan sorunlara yazılımcılar farklı çözümler geliştirmek durumunda kaldılar. Bunlardan bazıları işe yaramazken bazıları oldukça işe yaradı ve yazılımcılar bu işe yarayan yöntemleri ...