Yazılım Sisteminin Can Simidi GoF Sistematiği

Emre Öz
lTunes Tribe
Published in
2 min readApr 27, 2020

Vakti zamanında dört kafadar yazar(Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides) beyin fırtınası yaparak 1994 yılında ortaya Design Patterns: Elements of Reusable Object-Oriented Software adında bir kitap çıkartmış. Bu kitap içerisinde bir bölümde 3 farklı kategoriye böldükleri 23 kalıp bulunmaktadır. Yazılım dünyasına “GoF Sistematiği” olarak giren 3 farklı kategorideki 23 kalıp aşağıdadır.

1.Creational (Nesne yaratılışına ait) Kalıplar

Bu kalıplar nesneye yönelik programlamada en çok kullandığımız yazılım sistemindeki nesnelerin yaratılması hakkında yol göstermektedir.

  • Abstract factory
  • Builder
  • Factory method
  • Prototype
  • Singleton

2.Structural (Yapısal) Kalıplar

Bu kalıplar, sistemin esnek olabilmesi için bileşenlerin nasıl yapılandırılması gerektiğini tanımlarlar. Bu noktada şunuda eklemek lazım aynı amaçlar için farklı farklı yöntemlerin kullanıldığı Creational kalıpların aksine, her bir Structural kalıp farklı bir amaca sahiptir.

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

3.Behavioral (Davranışsal) Kalıplar

Bu kalıplar algoritmalar ve nesneler arasındaki sorumlulukların atanmasıyla ilgilidir. Aynı zamanda aralarında iletişimini de tanımlar. Bu kalıpların güzelliklerinde biri de odağınızı sadece birbirine bağlı nesneler üzerine odaklanmanızı sağlar.

  • Chain of responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor

Ayrıca internet üzerinde yukarıda bahsettiğimiz bu kalıplardan oluşturulmuş yüzlerce cheat sheet var. Ben aşağıya bir örneğini bırakıyorum :)

Design Pattern Cheat Sheet

Herkese iyi çalışmalar.

--

--