Tasarım desenleri konusu hakkında kaynak oluşturma amaçlı kod örneklerin yer alacağı projedir.
Merhaba, bu repo tasarım desenlerini öğrenmek isteyen arkadaşlara bu konu da yazılmış örnek kodların yer alacağı Türkçe kaynak oluşturma amaçlı hazırlanmıştır. Sizlerde katkıda bulunarak tasarım deseni öğretilmesine yardımcı olabilirsiniz.
Tasarım Desenleri kategorileri ve kodları aşağıdadır.
- AMAC: Bir nesnenin calisma zamanında tek olmasını istemektir. Bunun için;
- Constructor metodu "private" tanımlanmalıdır ki boylece diger sınıflardan new operatoru ile nesne ornegi yaratılmasın. Bunun sonucunda nesne üretilme işi instance, kendi sınıf içerisinde yapılmalıdır.
- Uretilen instance dısarıya Singleton tipinde "public static" bir metod ile verilir.
- Kullanım Ornekleri
-
AMAC: Kalıtımsal iliskili olan (nesne)urunlerin uretilmesi icin kullanılır. Factory metod'un gorevi client'in istegi olan urunlerin olusturulmasını saglar.
-
Factory Method'un kullanılmasında 2 yöntem vardır:
- Tek class icindeki factory metod yardımıyla ilgili sınıfların ürünlerin uretilmesi sağlanır.
- Her urun icin ayrı sınıf tanımlanmasi ile urunleri üretilmesi sağlanır.
-
Kullanım Ornekleri
- AMAC: Birbirleriyle ilgili ya da bağımlı nesne ailelerini, nesnelerin somut sınıflarını belirtmeden yaratmak için bir arayüz sağlamak.
Factory Method’da tek bir ürün ailesine ait tek bir arayüz mevcutken,Abstract Factory’de farklı ürün aileleri için farklı arayüzler mevcuttur.
-
Abstract Factory'nin kullanılmasındaki yöntem :
- İstemci ihtiyacı olan ve birbirleri aralarında iliskileri bulan nesnelerin üretiminden sorumlu olan soyut fabrikalarin tasarlanmasini saglar. İstemciler üretilecek nesnelerin tiplerine gore farklı fabrikalari secip kullanabilirler. Bu nesneler ve iliskiler abstract seviyede gerceklestirilerek client'dan soyutlanmıstır.
-
Kullanım Ornekleri
- AMAC: Üretilen nesnenin çok kaynak tüketmesi durumunun engellenmesini sağlamaktır.
Projede nesnemizi birden fazla oluşturmamız gerektiğinde normalde “new” operatörü ile oluşturmak yerine bir tane oluşturduğumuz nesnemizin klonunu oluşturmamızı sağlayan ve bunlara yeni özellikler eklenerek kullanılmasını sağlayan bir tasarım desenidir.
- Prototype'ın kullanılmasındaki yöntem :
- Maliyeti yüksek olan nesnelerin üretilmesi için soyut üst sınıf(Prototype Sınıf) kullanılır. Alt sınıfların hepsinde geçerli Clone metodu doldurularak nesnelerin kopyalarının alınması sağlanır. Client Prototype sınıf tipini kullanarak maliyetsiz nesne tipi olusturmaya çalışılır.
- Kullanım Ornekleri