際際滷

際際滷Share a Scribd company logo
SOLID Prensipleri
SOLID Nedir?
Neden SOLID?
SOLID Prensipleri
Hazel CAKLI hazelcakli@gmail.com hazelcakli
K?t┨ Tasar?m?n ?zellikleri
* Esnemezlik(Rigidity)
C Bak?m? zorla?t?r?r.
* K?r?lganl?k (Fragility)
C Bir yerde yap?lan de?i?iklikler
farkl? yerlerde sorun
olu?turabilir.
* Sabitlik (Immobility)
C Ba?ka yerde kullan?m? zordur.
SOLID Nedir?
* Nesne y?nelimli programlamaya ait 5 prensibin birlikte ve etkin olarak
kullan?ld??? tasar?m prensibidir.
* Hedef;
C Ba??ml?l?klar? azaltmak.
C S┨rd┨r┨lebilirlik.
C Bak?m? ve geli?tirilmesi kolay olacak, esnek ┨r┨nler olu?turmak.
SOLID Prensipleri
* Single Responsibility Principle
* Open Closed Principle
* Liskov Substitution Principle
* Interface Segregation Principle
* Dependency Inversion Principle
Single Responsibility Principle
* Olu?turulan yap?lar?n(method,
class vb.) tek bir g?revi olmal?d?r,
belli bir i?i yapmal?d?r.
* Bu yap?lar? de?i?tirmek i?in
yaln?zca bir sebebimiz olmal?d?r.
Open Closed Principle
* Projeye ait varl?klar?n geli?ime
a??k; fakat de?i?ime kapal?
olmas?d?r.
* Yaz?lan kodlar?n kendisinde
de?i?im ihtiyac? bulunmadan,
eklemeler yap?lmas?.
* Yaz?lacak kodun de?i?im
gerektirmeyecek ?ekilde
yap?land?r?lmas?.
Liskov Substitution Principle
* Alt s?n?flardan olu?turulan bir
nesnenin, ┨st s?n?flardan
olu?turulan bir nesne ile yer
de?i?tirmesi halinde ayn? davran??
ve ?zellikleri sergilemesidir.
* T┨retilen s?n?flar, t┨reyen s?n?flar?n
t┨m ?zelliklerini kullanabilmelidir.
* Kullan?lmamas? gereken durumlar
var ise yap?y? ayr??t?rmak gerekir.
Interface Segregation Principle
* Neslerin ihtiya? duymad?klar?
metodlar?n interfacelerden
ayr??t?r?lmas?d?r.
* Bir aray┨ze gerekenden fazla
yetenek eklenmemelidir.
* B?yle bir durumda interface
b?l┨nerek kullan?lmal?.
Dependency Inversion Principle
* Y┨ksek seviyeli s?n?flar, d┨?┨k
seviyeli s?n?flara ba?l? olmamal?d?r.
* Her ikisi de soyut kavramlara ba?l?
olmal?(Abstract Class veya
Interface)

More Related Content

Solid Prensipleri

  • 1. SOLID Prensipleri SOLID Nedir? Neden SOLID? SOLID Prensipleri Hazel CAKLI hazelcakli@gmail.com hazelcakli
  • 2. K?t┨ Tasar?m?n ?zellikleri * Esnemezlik(Rigidity) C Bak?m? zorla?t?r?r. * K?r?lganl?k (Fragility) C Bir yerde yap?lan de?i?iklikler farkl? yerlerde sorun olu?turabilir. * Sabitlik (Immobility) C Ba?ka yerde kullan?m? zordur.
  • 3. SOLID Nedir? * Nesne y?nelimli programlamaya ait 5 prensibin birlikte ve etkin olarak kullan?ld??? tasar?m prensibidir. * Hedef; C Ba??ml?l?klar? azaltmak. C S┨rd┨r┨lebilirlik. C Bak?m? ve geli?tirilmesi kolay olacak, esnek ┨r┨nler olu?turmak.
  • 4. SOLID Prensipleri * Single Responsibility Principle * Open Closed Principle * Liskov Substitution Principle * Interface Segregation Principle * Dependency Inversion Principle
  • 5. Single Responsibility Principle * Olu?turulan yap?lar?n(method, class vb.) tek bir g?revi olmal?d?r, belli bir i?i yapmal?d?r. * Bu yap?lar? de?i?tirmek i?in yaln?zca bir sebebimiz olmal?d?r.
  • 6. Open Closed Principle * Projeye ait varl?klar?n geli?ime a??k; fakat de?i?ime kapal? olmas?d?r. * Yaz?lan kodlar?n kendisinde de?i?im ihtiyac? bulunmadan, eklemeler yap?lmas?. * Yaz?lacak kodun de?i?im gerektirmeyecek ?ekilde yap?land?r?lmas?.
  • 7. Liskov Substitution Principle * Alt s?n?flardan olu?turulan bir nesnenin, ┨st s?n?flardan olu?turulan bir nesne ile yer de?i?tirmesi halinde ayn? davran?? ve ?zellikleri sergilemesidir. * T┨retilen s?n?flar, t┨reyen s?n?flar?n t┨m ?zelliklerini kullanabilmelidir. * Kullan?lmamas? gereken durumlar var ise yap?y? ayr??t?rmak gerekir.
  • 8. Interface Segregation Principle * Neslerin ihtiya? duymad?klar? metodlar?n interfacelerden ayr??t?r?lmas?d?r. * Bir aray┨ze gerekenden fazla yetenek eklenmemelidir. * B?yle bir durumda interface b?l┨nerek kullan?lmal?.
  • 9. Dependency Inversion Principle * Y┨ksek seviyeli s?n?flar, d┨?┨k seviyeli s?n?flara ba?l? olmamal?d?r. * Her ikisi de soyut kavramlara ba?l? olmal?(Abstract Class veya Interface)