SlideShare uma empresa Scribd logo
1 de 13
OOP Yetenekleri
Nes ne Yö nelimli P ro g ra mla ma Ka v ra mla rı
Avantajları
• Gerçek hayattaki her nesneyi programatik ortamda
modelleyebilmeyi sağlar.
• Kod’un yeniden kullanılabilirliğini sağlar.
• Uygulamanın bakım maliyetini düşürür.
• Programı «nesne» adı verilen küçük parçalara bölmeyi sağlar.
• Uygulama geliştirmeyi daha hızlı hale getirir.
• Karmaşık yazılımları basitleştirir.
Inheritance (Kalıtım)
• Varolan bir sınıfın özellik ve davranışlarını, bir alt sınıfın kendi
üyeleriymiş gibi kullanabilme yeteneğidir.
• Mevcut bir tipe yeni fonksiyonellikler eklenmek istendiğinde
veya birbiriyle ilişkili birçok sınıfın birçok ortak üyesi
bulunması durumunda,
• Birçok sınıfın çekirdek fonksiyonellikler içermesi gerektiğinde
kullanılır.
Encapsulation (Sarmalama)
• Veri koruma
• Gereksiz uygulama ayrıntılarını nesneyi kullanan koddan
gizleyebilme
Polymorphism (Çok Biçimlilik)
• Türeyen sınıfların, temel sınıfta yer alan bir üyeyi farklı bir
şekilde uygulayabilmelerini sağlar.
SOLID Prensipleri
R o b er t C. Ma r t in'in Beş Temel P rensib i
Avantajları
• Bakımı kolay uygulamayı geliştirmeyi sağlar.
• Genişletilebilir uygulama geliştirmeyi sağlar.
• Kötü kokulu kodları engeller.
Single Responsibility Principle
(Tek Sorumluluk Prensibi)
• Bir sınıfın değişmesi için tek bir sebebi olmalı, yani bir sınıfın
tek bir işi olması gerekir.
Open-Closed Principle
(Açık Kapalı Prensibi)
• Nesneler veya varlıklar gelişime açık, değişime kapalı
olmalıdır.
Liskov Substitution Principle
• Aynı arayüzü uygulayan tüm sınıflar, birbirlerinin yerine
kullanılabilir olmalıdır. Özel istisnai bir durum kesinlikle
oluşmamalıdır.
Interface Segregation Principle
(Arayüz Ayırma Prensibi)
• Bir sınıf kullanmadığı bir arayüzü uygulamak zorunda
kalmamalı, kullanmadıklara metodlara bağımlı olmamalıdır.
Dependency Inversion Principle
(Bağımlılıkları Tersine Çevirme
Prensibi)
• Yüksek seviyeli sınıflar, düşük seviyeli sınıflara somut olarak
bağımlı olmamalıdır. Yüksek seviyeli sınıflar alt seviyeli
sınıflara soyut olarak bağlanmalıdır.
Kaynak
https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-
object-oriented-design
Video
https://www.youtube.com/watch?v=2AJ_trQ1LWc

Mais conteúdo relacionado

Semelhante a OOP & SOLID

Yazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check ListYazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check ListDilaver Demirel
 
Oop’nin temel ilkeleri
Oop’nin temel ilkeleriOop’nin temel ilkeleri
Oop’nin temel ilkelerimetehanates
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEHalil İbrahim ÇELENLİ
 
Java SE 8 Programming
Java SE 8 Programming Java SE 8 Programming
Java SE 8 Programming Ercan Er
 
AnkaraJUG Nisan 2013 - Java Persistance API
AnkaraJUG Nisan 2013 - Java Persistance APIAnkaraJUG Nisan 2013 - Java Persistance API
AnkaraJUG Nisan 2013 - Java Persistance APIAnkara JUG
 
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORM
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORMAzerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORM
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORMMimar Aslan
 
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriBilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriMimar Aslan
 
Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...
Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...
Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...Muhammed GÖKKAYA
 
Nesne tabanlı programlama 1
Nesne tabanlı programlama 1Nesne tabanlı programlama 1
Nesne tabanlı programlama 1Erol Dizdar
 

Semelhante a OOP & SOLID (16)

Ozgur web-gunleri-sunum
Ozgur web-gunleri-sunumOzgur web-gunleri-sunum
Ozgur web-gunleri-sunum
 
C# OOP
C# OOPC# OOP
C# OOP
 
Yazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check ListYazılım Prensipleri ve Code Review Check List
Yazılım Prensipleri ve Code Review Check List
 
Java OOP
Java OOPJava OOP
Java OOP
 
Oop’nin temel ilkeleri
Oop’nin temel ilkeleriOop’nin temel ilkeleri
Oop’nin temel ilkeleri
 
Base presentation
Base presentationBase presentation
Base presentation
 
Nedir Bu Java ?
Nedir Bu Java ?Nedir Bu Java ?
Nedir Bu Java ?
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDE
 
Visual Studio Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
 
Java SE 8 Programming
Java SE 8 Programming Java SE 8 Programming
Java SE 8 Programming
 
AnkaraJUG Nisan 2013 - Java Persistance API
AnkaraJUG Nisan 2013 - Java Persistance APIAnkaraJUG Nisan 2013 - Java Persistance API
AnkaraJUG Nisan 2013 - Java Persistance API
 
Typescript
TypescriptTypescript
Typescript
 
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORM
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORMAzerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORM
Azerbaycan Qafqaz Üniversitesi - (Java Persistence API) JPA ve Hibernate ile ORM
 
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework SemineriBilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
Bilgisayar Mühendisleri Odası - PrimeFaces Framework Semineri
 
Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...
Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...
Mobilya ve ev eşyalarının derin öğrenme ile 128 kategoride sınııflandırılması...
 
Nesne tabanlı programlama 1
Nesne tabanlı programlama 1Nesne tabanlı programlama 1
Nesne tabanlı programlama 1
 

OOP & SOLID