Sobes.tech
Senior

GRASP nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

GRASP (Genel Sorumluluk Atama Yazılım Kalıpları) nesne yönelimli tasarımda sınıflara ve nesnelere görev atamak için kullanılan evrensel ilkeler kümesidir. Esnek, bakımı kolay ve yeniden kullanılabilir sistemler oluşturmaya yardımcı olurlar. GRASP’ın temel kalıpları şunlardır:

  • Bilgi Uzmanı: Bir nesne, bir eylemi gerçekleştirmek için gereken bilgiye sahipse, bu sorumluluğu üstlenmelidir.
  • Yaratıcı: Diğer sınıfların örneklerini içeren veya bunları toplayan, onlarla yakından ilişkili veya oluşturmak için başlangıç verileri olan sınıf, bu nesnelerin oluşturulmasından sorumlu olmalıdır.
  • Kontrolcü: Sistem olayını (örneğin, kullanıcı eylemi) işlemekle sorumlu olan sınıf, diğer nesnelerin çalışmalarını koordine etmekle sorumlu olmalı, ancak kendisi işi yapmamalıdır.
  • Saf Üretim: Yapay olarak oluşturulmuş, alan kavramını yansıtmayan, ancak bağlılığı azaltmak, bağlılığı artırmak veya yeniden kullanılabilirliği sağlamak için oluşturulmuş sınıf.
  • Düşük Bağlılık: Sınıflar arasındaki bağımlılıkları en aza indirmeyi amaçlayan tasarım ilkesi.
  • Yüksek Kohezyon: Sınıfın metodlarının fonksiyonellik açısından sıkı bir şekilde bağlı olması gerektiğini belirten tasarım ilkesi.
  • Çok Biçimlilik: Davranışların nesne tipi temelinde seçilmesi sorumluluğunun atanması (sanal metodlar aracılığıyla).
  • Korunan Varyasyonlar: Diğer unsurlardaki (nesneler, alt sistemler, sistemler) değişikliklere karşı koruyan tasarım ilkesi, stabil bir arayüz tanımlayarak.
  • Yönlendirme: İki öğe arasındaki doğrudan bağlantıyı önlemek için aracılık nesnesine sorumluluk atama.

GRASP uygulaması, "kalın" kontrolörleri ve yöneticileri önlemeye, kod yapısını iyileştirmeye ve geliştirmeyi kolaylaştırmaya yardımcı olur.