OOP , yazılım geliştirmede kullanılan bir programlama paradigmasıdır. Bu yaklaşımla, ilişkilerle ilgili konular üzerinden yapılır. Nesneler, veriler (özellik) ve bu veriler üzerinde işlem yapan yöntemler (yöntem) bir araya gelen bir yapıdır. OOP, gerçek dünya kavramlarını programlama diline uyarlamayı amaçlamaktadır.
OOP’nin Temel Kavramları
- Sınıf (Sınıf):
Bir nesnenin tasarım şablonudur. Örneğin, Araba sınıfı, tüm arabalar için ortak özellikler ve devam edecek. - Nesne (Nesne):
Sınıflardan türetilen somut örneklerdir. Mesela “BMW” bir Araba nesnesi olabilir. - Kapsülleme (Encapsulation):
Verileri ve metotları bir sınıf içinde saklama ve harici erişim sınırlamama işlemidir. Örneğin, özel (private
) bir değişkene yalnızca sınıflardan erişilebilir. - Kalıtım (Kalıtım):
Bir sınıfta başka bir sınıfın özelliği ve metotları miras alınmasıdır. Mesela ElektrikliAraba sınıfı, Araba sınıfından türeyebilir. - Çok Biçimlilik (Polimorfizm):
Aynı isimli bir metot, farklı sınıflarda farklı işlevler gerçekleştirebilir. Örneğin, bir SesCikar() yöntemi köpek için havlama , gelirken kedi için miyavlama anlamına gelebilir. - Soyutlama (Soyutlama):
Karmaşık sistemlerin daha basit bir düzeydeki bölümü, gereksiz ayrıntıların gizlenmesidir. Soyut sınıflar (abstract
) ve grafikler (interface
) bu oranları uygular.
ORM (Nesne-İlişkisel Haritalama – Nesne-İlişkisel Eşleme)
ORM , bir veritabanındaki tabloları programlama dilindeki sınıflar ve nesnelerle eşleştirme yöntemidir. Bu yöntem, geliştiricinin SQL sorgularının yerine doğrudan nesnelerin çalışmasını sağlar.
ORM’nin Çalışma Prensibi
- Bir veri tabanı tablosu, programlama dilinde bir sınıf olarak temsil edilir.
- Tablo sütunları, sınıf özellikleri (özellik) olarak özellikleri.
- SQL sorguları, ORM kütüphaneleri tarafından otomatik olarak oluşturulur.
Türkçe: Örnek:
Bir “Kullanıcı” tablosunu ele alalım:
ORM ile bu tablo bir sınıf olarak şu şekilde temsil edilir:
// Kullanıcı sınıfı (C#)
public class Kullanici
{
public int ID { get; set; }
public string Isim { get; set; }
public string Email { get; set; }
}
ORM sayesinde şu işlemler kolayca yapılabilir:
Ekle-ADD
var yeniKullanici = new Kullanici { Isim = "Mehmet", Email = "mehmet@mail.com" };
context.Kullanicilar.Add(yeniKullanici);
context.SaveChanges();
Güncelle
var kullanici = context.Kullanicilar.Find(1);
kullanici.Email = "yeniemail@mail.com";
context.SaveChanges();
Silme-REMOVE
var kullanici = context.Kullanicilar.Find(1);
context.Kullanicilar.Remove(kullanici);
context.SaveChanges();
ORM, tüm bu faaliyetlerin arka planındaki SQL sorgularına çevirir ve veri tabanına iletir.
Popüler ORM Araçları:
- C#: Varlık Çerçevesi, Dapper
- Python: SQLAlchemy, Django ORM
- Java: Hazırda Bekletme
- PHP: Doktrin, Belagat (Laravel)
OOP ve ORM’nin Bağlantısı
- OOP , yazılım geliştirme için bir yapı sağlar. ORM, satın alma yapısını kullanarak veri depolamalarını gerçekleştirir.
- ORM, OOP’nin sınıf ve nesne kavramlarını veritabanı tablolarına uyarlayarak geliştiricilere SQL sorgularını öğrenmeden ilişkilerisel veritabanlarıyla alınması mümkün olur.
Son Olarak:
- OOP , nesne odaklı programlamayı ifade eder.
- ORM , OOP ilkelerini kullanarak veri tabanı ile nesneler arasında köprü kurar.