Tasarım Deseni

Tasarım modelleri yazılım geliştirme için yeniden kullanılabilir çözümlerdir. Programcıların uygulama oluştururken kullanabileceği şablonlar olarak hizmet ederler. Bunlar bireysel programlama dillerine özgü değildir, bunun yerine farklı programlama ortamlarında uygulanabilecek en iyi uygulamalar veya sezgisel taramalardır.

Tasarım modelleri dile bağlı olmasa da, genellikle nesneleri veya sınıfları içerir. Bu nedenle, bunlar genellikle nesne yönelimli programlama ile ilişkilidir.

Bireysel kalıplar üç farklı kategoride sınıflandırılabilir:

  1. yaratıcı kalıplar
  2. yapısal kalıplar
  3. davranış kalıpları

1. Yaratıcı Desenler

Yaratıcı tasarım kalıpları, farklı durumlar için uygun yöntemleri kullanarak nesne oluşturma yollarını açıklar. Örneğin, "Singleton" kalıbı, yalnızca bir örneği olacak temel bir sınıf oluşturmak için kullanılır. Yaygın bir örnek, bir programın kaynak kodunda tanımlanan global bir değişkendir. "Nesne Havuzu" deseni, yeniden oluşturmak yerine gerektiğinde alınabilen nesnelerin "havuzuna" sahip bir sınıf oluşturmak için kullanılır. Bu genellikle önbellekleme amacıyla kullanılır.

2. Yapısal Desenler

Yapısal tasarım modelleri nesneler arasındaki ilişkileri tanımlar. Örneğin, "Özel Sınıf Verileri" deseni belirli bir sınıfa erişimi sınırlamak için kullanılır. Bu, bir nesnede istenmeyen değişiklik yapılmasını önleyebilir. "Dekoratör" sınıfı ise çalışma zamanında bir nesneye davranışların ve durumların eklenmesine izin verir. Bu, programcılara bir nesneye gerektiği kadar sınıf ekleme esnekliği sağlar. Bir örnek, bir video oyununda, oyun boyunca silah, zırh ve eşya biriktiren bir avatar. Uygun şekilde adlandırılmış "Dekoratör" sınıfı bu işlem için iyi bir çerçeve sağlayacaktır.

3. Davranış Örüntüleri


Davranışsal tasarım modelleri, nesnelerin birbirleriyle iletişim kurma biçimleri gibi davranışlarını tanımlar. Buna bir örnek, komutları yürüten nesneleri tanımlayan "Komut" kalıbıdır. "Hatıra" kalıbı bir nesnenin durumunu kaydeder, böylece kaydedilen belirtilenine geri yüklenebilir. Bu iki desen, bir programda Geri Al ve Yinele işlemlerini gerçekleştirmek için birlikte kullanılabilir.

özet

Üç kategoriden her biri, programcıların kullanabileceği diğer birkaç tasarım desenini içerir. Kalıplar yazılım geliştiricileri için yararlı şablonlar sunsa da, bazen gereksiz veya belirli uygulamalar için yeterince spesifik olmadığı için eleştirilir. Bu nedenle, tasarım kalıpları programlama için yararlı araçlar olsa da, iyi tasarlanmış bir yazılım programı oluşturmak için tam olarak takip edilmelerine gerek yoktur.