Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

ORM (OBJECT RELATION MAPPING) Nedir?

     Bu makalemde son zamanlarda çok sık duymaya başladığımız bir kavram ORM hakkında konuşacağım. Öncelikle bu konuda herkes bir şeyler söylüyor projelerimde ORM kullanmak zorunda olan biri olarak birkaç şey de ben ilave edeyim dedim..

Öncelikle ORM nedir sorusuna cevap bulalım ; Veritabanımızda yaratmış olduğumuz her bir nesneye karşılık kod tarafında bir nesne oluşturan programlardır diyebiliriz.Bu programlar code generation tekniği kullanarak bizim yazmamız gereken kodu otomatik üretiyor.

Örnek Veritabanımızda bir tablo var Ogrenci(id,adi,soyadi,sinifi) Normal şartlarda OOP yazılım geliştirirken bu tabloya karşılık gelen bir sınıfı kendimiz elle oluştururuz. Yani Ogrenci isminde bir sınıf ve id , adi , soyadi , sinifi field ve property lerini oluştururuz sonra da Update,Insert,Delete ve Select sorgularını hazırlarız. İşte ORM bütün bu standart işlemleri otomatik olarak yapıyor.

Ne güzel diyebilirsiniz , gerçekten de güzel . Çok hızlı veri tabanından bağımsız , katmanlı bir uygulama geliştirebiliyorsunuz. Örneğin biz şirketimizde LLBLGEN isminde bir bileşen kullanıyoruz.Bunlara karşılık .NET’in Linq’u , Java’nın Hibernate ve daha bir çok bileşen bulmak mümkün. Örnek bir kod :

 OgrenciEntity entity = new OgrenciEntity(id);

entity.Name = ‘Koray’;

entity.Save();

İşte veritabanına kayıt eklemek bu kadar kolay.

      Tabi ki dezavantajları da mevcut.Bunlardan bir tanesi performans , kaybı diğeri ise kontrolün sizden bir anlamda çıkması.Performansın önemli olduğu ve karışık sorguların bulunduğu kısımlar hariç kullanmakta yarar var diye düşünüyorum. Bazıları kesinlikle kullanmayın diye tabirlerde bulunuyor ancak benim 2 haftada yapacağım işi 3 güne düşürüyorsa neden kullanmayayım. Ancak bir projede hem ORM hem de kendi kodumuzu yazabiliriz. Böyle bir yapı sanırım daha sağlıklı.Aslında bana göre en iyisi herşeyi kendinizin yaptığı yazılımdır ancak bazen zaman kısıtı sizi böyle şeyler kullanmaya zorluyor.

Reklamlar

Nisan 29, 2009 - Posted by | Yazılım | , , , , , ,

Henüz yorum yapılmamış.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s