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.

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

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s