makale ekle!
Profili Göster

Flex ve Datapersistence

Adem Yavuz Tarih: 29/04/2011 Yorum: 0 adet

Okunma : 939 Tutanlar: Bu yazıyı 2 kişi tuttu.

Masaüstü ve web uygulamalarda, çeşitli bilgilerin saklanması, değiştirilmesi ve gerektiği zaman üzerinde işlemler yapılması için veritabanı kullanılır. Tabi bu bilgiler birkaç satırdan ibaret değilse.

Yine programcılar uygun olan veritabanını belirledikten sonra program ile veritabanı arasındaki etkileşimi sağlayan, yani program vasıtası ile elde edilen bilgileri saklamak, değiştirme ve silmek için SQL komutları yazarlar.

Tabi yazılan kod daha karmaşık bir hal alır, çünkü hem lojik hem de onlarca sql sorgusu iç içe olacağı için oldukça karmaşık gözükür. Programlamaya yoğunlaşmak daha zordur bu durumlarda. Ekibe sonradan giren yazılımcılarda kodu okumakta zorlanırlar. Classlar, fonksiyonlar, sql sorguları, tablo isimleri vs...

Neyseki data persistence katmanı bir çok dilde bu sorunu oldukça efektif bir şekilde çözdü. Data persistence katmanı kullandığınızda sql sorguları yazmanıza gerek kalmaz, oop programlamanın temellerinden biri olan nesneleri kullanarak işinize devam edebilirsiniz. Her bir tablo sizin için bir nesnedir ve tablolar arasındaki ilişkiler nesneleriniz arasındaki ilişkilerle aynıdır. Biraz daha somut örnek vermek gerekirse;

anneler, babalar, cocuklar seklinde 3 adet tablonuz var. relational bir model kullandınız ve tablolar birbirine

Daha anlaşılır olması için tablolar arasında ilişkilerin nasıl olacağını ayrıntılı yazıyorum.


 anneler   onetomany  cocuklar
 babalar   onetomany  cocuklar
 cocuklar  manytoone  anneler
 cocuklar  manytoone  babalar
 anneler   onetoone   babalar 

seklinde ilişkilerle bağlı olsun. Bu durumda bir annenin sadece bir kocası olabilir, birden fazla çocuğu olabilir, babanın durumuda annenin durumu gibidir. bir çocuğun yine tek bir annesi ve babası olabilir. Şimdi klasik yöntemle size bu bilgiler her lazım olduğunda veritabanına bağlanarak istediğiniz verileri sql komutları ile çekmeniz gerekiyordu.

Fakat datapersistence katmanı oop alışkanlıkları dışına çıkmadan size aynı yapıyı nesne modeli olarak sunuyor.

Sözgelim

Cocuklar cocuk=new Cocuklar();

şeklinde nesnenizi oluşturduktan sonra

cocuk.anne  Anne  baba  Baba   

şeklinde veritabanında bağlı hangi tablolar varsa onları nesne olarak görebilirsiniz. İlişki cocuklardan anne ve baba tablolarına manytoone olduğu için size sadece bir nesne geri dönecektir.

Ama aynı işlemi

Anneler anne=new Annler();

nesnesi oluşturarak incelediğimizde

anne.cocuklar Dizi.baba Baba      

şeklinde dizi ve tek nesnenin geri döneceğini görürüz.

Kısaca veritabanı tabloları arasında gezmek, işlemler yapmak çok ama çok kolaylaşıyor.

Herhangi bir fonksiyon içerisinde normal kodlamaya devam ederek

foreach(anne.cocuklar) { .... }

gibi istediginiz islemlerikolayca gereçekleştirebilirsiniz.

Datapersistence katmanından kısaca bahsettikten sonra flexorm konusunda gelebiliriz. Flex ile proje geliştirenler için bu yapıyı sağlayan kütüphanelerden biri flexorm'dir. flexorm.swc şeklinde google'da aratıp bulabilirsiniz.

Açık kaynak olup incelediğim persistence katmanlar içinde en iyisidir diyebilirim. Flex projeler içinde sqlite kullanıyorsanız flexorm'yide dahil ederek proje kodlama zamanını düşürebilirsiniz. Kodunuz daha okunaklı, daha anlaşılır, daha kısa olur. Özellikle mobil uygulamalarda size büyük avantaj sağlayacaktır.

Java için hibernate, toplink, c# için nhibernate gibi data persistence katmanları mevcuttur. Flexorm ve kullanımı ile ilgili olarak bir sonraki makalede görüşmek üzere.

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.


aç-kapa Yazarın Diğer Yazıları

Haber

İlişkili haber bulunamadı.

yeni bir tane ekleyin

Ders

İlişkili ders bulunamadı.

yeni bir tane ekleyin

yeni üyelik | şifremi unuttum

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 53 (50 kayıtlı, 3 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

...

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu
 
sponsor adobe istanbul