Skip to content

cantugba/Design_Patterns-Tasarim_Desenleri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

-Yazılımın geliştirilmesi sırasında sıkça karşılaşılan ve birbirine benzeyen problemleri, tasarım aşamasında çözmek için geliştirilmiş ve işlerliği kanıtlanmış genel çözüm önerileridir.

SOLID: yazılım tasarım prensipleri için kullanılan bir kısaltmadır.

  • Yazılım yaparken SOLID uygulandığı taktirde bakımı ve geliştirilmesi kolay yazılım sistemleri oluşturmak mümkündür.

Single Responsibility Principle:

Her yazılım biriminin (sınıf, nesne, metot) tek bir sorumluluğu olmalıdır.

Open/Closed Principle:

Yazılım birimleri geliştirilmeye açık, değişikliğe kapalı olmalıdır.

Liskov’s Substitution Principle:

Alt sınıflardan oluşturulan nesneler üst sınıfların nesneleriyle yer değiştirdiklerinde aynı davranışı göstermek zorundadırlar.

Interface Segregation Principle:

Herşeyi ihtiva eden interface sınıflar yerine belli bir işlemi yapan interface sınıflar oluşturulmalıdır.

Dependency Inversion Principle:

Bağımlılıklar soyut sınıflara doğru olmalıdır.

Genel olarak tasarım kalıpları 3'e ayrılır:

1- Creational Patterns (Oluşturucu Kalıplar)

• Factory • Abstract Factory • Builder • Prototype • Object Pool • Singleton

2- Structural Patterns (Yapısal Kalıplar)

• Adapter • Bridge • Composite • Decorator • Facade • Flyweight • Front Controller • Module • Proxy

3- Behavioral Patterns (Davranişsal Kalıplar)

• Chain of Responsibility • Command • Mediator • Memento • Observer • Strategy • Template • Visitor