Tasarım Örüntüleri

Tasarım Örüntüleri (Design Patterns)

Kod geliştirdiğimiz her an hatırlamamız gereken tasarım örüntülerinin neler olduğuna biraz daha yakından bakalım.

--

Design Patterns

Yanda bulunan Design Patterns kitabından adım adım giderek, tasarım örüntülerini projelerde nerelerde hangi ihtiyaçtan dolayı kullandığımızı anlatmaya çalışacağım.

Öncelikle tasarım örüntüleri ne işe yarıyor? Tasarım örüntüleri insanların projelerinde sık sık karşılaştıkları problemler çözüm olarak getirdikleri Problem-Çözüm ilişkileridir.

Tasarım örüntülerini;

  • Kodun daha esnek olabilmesini sağlamak
  • Kodun tekrar tekrar kullanılabilmesi
  • Sonradan yapılacak değişikliklere karşı kodun fazla etkilenmemesi amacıyla geliştirilmiştir.

Tasarım örüntülerine girmeden önce Nesne tabanlı programlamada (Object Oriented Programming) soyutlama(Abstraction) kavramını iyi anlamak gerekir. Objelerimizi nasıl soyutlarız. Nasıl kod geliştirmeliyiz ki High Cohesion, Low Coupling yapabilelim. Birbiri ile ilişkili özellikleri ve fonksiyonları bir araya toplarken , bir yandanda birbirinden farklı olan kod birimlerine birbirlerine bağımlı hale getirmeden nasıl birbirleri ile iletişim kurmalarını sağlayabiliriz.

Bu konuda biraz daha ilerletirsek Dependency Injection ne demek? Bir bileşeni nasıl geliştirmeliyiz ki bu bileşen sadece kendi bileşen paketi içerisinde kendisi ile ilgili mantıkları bilsin. Daha sonra projemizde çok fazla bileşen ve ilişkisi olduğu zaman bu bağımlılıkları nasıl yönetebiliriz? Daha sonra bu örüntülerin en iyilerinin bazı kütüphanelerde ve framework toplandığını görebilirsiniz. Örneğin yukarıda bahsettiğim Dependency Injection bir gerçekleştirimi olarak Spring IOC(Inversion Of Control) gibi kütüphaneler bunlara örnektir.

Tasarım Örüntü (Design Pattern) kitabı bu örüntülerini 3 kategori altında inceler. Creational Patterns(Yaratımsal Örüntüler), Structural Patterns(Yapısal Örüntüler), Behavioral Patterns(Davranışsal Örüntüler). Bu örüntüleri kullandıkça bu ayrışmayı neden bu şekilde yaptıklarını daha iyi anlayacaksınız.

1. Creational Patterns

new keyword kullanımını yönetir !

2. Structural Patterns

Sınıflar arası kurulan doğru ilişki/bağlantılar üzerinden kurduğu yapılar ile ilgilenir bunları düzenlemeye ve anlamlandırmaya çalışır.

3. Behavioral Patterns

Davranışsal(Behavioral) örüntüler ise daha çok algoritmalar, algoritmaların, davranışların soyutlanması üzerine olan örüntülerdir. Algoritmalar arası iletişim şekli, sorumlulukların paylaşımı veya aktarımının nasıl yapılacağını tanımlar.

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--