bugün
- gece gece akla düşen o yiyecek14
- sözlükteki mendebur suratlılar7
- yorgun mermi10
- erkeklerin biraz şey olması7
- gece yatağın altından uzanan el5
- meyveli soda içen erkek5
- cinleri olan sözlük kızı5
- arkadaşlar biraz eğlenceye ne dersiniz9
- sen debenim hat alarım'dan bir isiiiin6
- parmak patates vs elma dilim patates7
- mutlu olunca her şeyin komik gelmesi5
- ayınan mıyorum ayınan mıyorum8
- bir sözlük kızı için 400 km yol gitmek4
- insanlar nasıl birbirine güvenip evleniyor7
- gece mezarda erkekle sevişen travesti görmek3
- mercimek çorbası4
- cin mısır kabilesi5
- soğan salatası6
- nervio'nun aşkıma yanıt vermemesi5
- sürekli güler yüzle dolaşan tip7
- iştahın kapanması7
- sözlük kızının sözlük erkeğine yemek ısmarlaması3
- korkmuş bir sözlük kızını teselli etmek2
- yeni parti39
- bacağım ağrıyor yağmur yağacak5
- sözlükte kavgacıların olmaması3
- devlet bahçeli'nin aslında iyi adam olması8
- aramızda gezen tok yazarlar3
- denizden çıkarken penisin şorttan belli olması7
- aylık 387 bin lira iyi para mıdır sorunsalı2
- ölümlü bir erkekle evlenmek6
- türkler barbar ve köpektir7
- bir kilo patatesin 50 lira olması16
- kadınlardan ilgi göremeyince erkeklere yönelmek3
- psikopat erkek seven kızlar4
- bursalı erkeklere vurulan ibne damgası5
- nasıl bir sevgiliniz olmasını isterdiniz13
- sen yapamazsın beceremezsin diyen arkadaş tipi2
- türkçüsüyle kürtçüsüyle yeni parti'ye oy vereceğiz10
- ağlamak erkeğe yakışır mı9
- üç tas tunç has hoşashfd2
- hem kemalist hem sosyal demokrat olunmaz14
- turşu tanrısı2
- güne bir şarkı bırak14
- götelek turşusu2
- en güzel sevişme13
- yazarların acı eşiği5
- enayimiknatisii10
- yaşlandıkça güzelleşmek2
- topluma nasıl faydalı olunur7
OBJECT RELATION MAPPING.
veri tabanın da yarattığımız her nesneye karşılık kod tarafında da bir nesne oluşturan uygulama. programlama süresini kısaltabilir, daha hızlı kod yazmamızı sağlayabilir fakat her gülün dikeni olduğu gibi bunun da bazı batan tarafları vardır. yazılımda olmaz ise olmaz olan performans bu teknolojinden pek haz etmez yalnız gelişen donanım kısmen bu derde de merhem olur. ayrıca bir miktar esnekliğimizi kaybeder kendimize sınırlar çizmiş oluruz. küçük projeler için kullanılabilir. "benim projem devasal, ben ne edeceğim?" diye soracak olursanız; .net için linq java için hibernate incelenebilecek, araştırılacak öncelikli konulardır fikrimce.
veri tabanın da yarattığımız her nesneye karşılık kod tarafında da bir nesne oluşturan uygulama. programlama süresini kısaltabilir, daha hızlı kod yazmamızı sağlayabilir fakat her gülün dikeni olduğu gibi bunun da bazı batan tarafları vardır. yazılımda olmaz ise olmaz olan performans bu teknolojinden pek haz etmez yalnız gelişen donanım kısmen bu derde de merhem olur. ayrıca bir miktar esnekliğimizi kaybeder kendimize sınırlar çizmiş oluruz. küçük projeler için kullanılabilir. "benim projem devasal, ben ne edeceğim?" diye soracak olursanız; .net için linq java için hibernate incelenebilecek, araştırılacak öncelikli konulardır fikrimce.
bağlantı açmak kapatmak gibi alt seviye işleri bizim yerimize yöneten, entity sınıfları üreterek programcıya hız kazandıran, bu sınıflar sayesinde veritabanındaki kayıtları nesnelerle eşleştiren ve bizim mümkün mertebe az sayıda veritabanı sorgusu yazmamızı sağlayan veri erişim araçlarıdır.
java da (bkz: jpa) standardı olarak geçen. (bkz: Hibernate) Php de (bkz: laravel) de bulunan. c# da (bkz: entity framework) e karşılık gelen yapıdır. çok kullanışlıdır. Mümkün oldukça az hatta bazen hiç sql kodu yazmadan tüm işlemleri gerçekleştirebileceğiz bir yapıdır.
crud sorgularını uzun uzun yazmaktan biz yazılım geliştiricileri kurtaran yapıdır. java da hibernate(jpa standardı), spring orm gibi frameworkleri mevcuttur. oldukça kullanışlıdır.
Olay şu. Elinizde bir tane facade var.
Bu facade ile temel insert, delete, update ve select işlemlerini yapacaksınız. ancak bu facade öyle olmalı ki eklediğiniz ne olursa olsun sorgu çalışmalı.
c# ile örnek vereyim. Eski usul yöntemde olay şuydu:
string sorgu = "INSERT INTO Persons(Name, LastName) VALUES('Ahmet', 'Durmaz');
sqlcommand cmd = new sqlcommand(sorgu, baglanti);
cmd.executenonquery();
Başlangıçta kısa görünüyor olabilir ancak bazı sıkıntılar var. Her işlem için bu sorguları tek tek yazacak mıyız? Bu sorular sorulabilir.
Adamlar şöyle düşünmüşler. Ben bir sınıf yaratayım. Adı Persons olsun. Bu sınıfın bazı property'leri olsun.
class Persons
{
public string name { get; set; }
public string lastname { get; set; }
}
Adam düşünmüş işte demiş ki ben bu sınıfa verileri şöyle yollayayım:
Persons p = new Persons();
p.name = "Ahmet";
p.lastname = "Durmaz";
Daha sonra bu adamlar durmamış tekrar düşünmüş
ORM adındaki Facade, oluşturulan Class türünden değer alsın. Olay şöyle:
ORM<persons>.Insert(p);
Yani Tip olarak yaratılan sınıfın adını alırken, crud işlemlerini instance üzerinden yapıyor.
Bu sayede de bu instance'da yer alan propların hem name hem de value'larını alıyor.
Şimdi düşününce her defasında INSERT gibi sorguları yazmak çok mu mantıklı? Hayır. Artık orm kullanmanın da zamanı geldi ülkemiz açısından da önemli. reflection bilmek önemlidir.
Sizi yoracak tek bir şey olabilir o da sınıflar ve sınıflara oluşturacağınız proplar. Ama ona da ne gerek var ki yanılmıyorum değil mi.
Yeni tür ORM'ler procedure ya da klasik sorguları da ayırt edebiliyorlar. Bu bakımdan şanslı bir development süreci bulunmakta.
Bu facade ile temel insert, delete, update ve select işlemlerini yapacaksınız. ancak bu facade öyle olmalı ki eklediğiniz ne olursa olsun sorgu çalışmalı.
c# ile örnek vereyim. Eski usul yöntemde olay şuydu:
string sorgu = "INSERT INTO Persons(Name, LastName) VALUES('Ahmet', 'Durmaz');
sqlcommand cmd = new sqlcommand(sorgu, baglanti);
cmd.executenonquery();
Başlangıçta kısa görünüyor olabilir ancak bazı sıkıntılar var. Her işlem için bu sorguları tek tek yazacak mıyız? Bu sorular sorulabilir.
Adamlar şöyle düşünmüşler. Ben bir sınıf yaratayım. Adı Persons olsun. Bu sınıfın bazı property'leri olsun.
class Persons
{
public string name { get; set; }
public string lastname { get; set; }
}
Adam düşünmüş işte demiş ki ben bu sınıfa verileri şöyle yollayayım:
Persons p = new Persons();
p.name = "Ahmet";
p.lastname = "Durmaz";
Daha sonra bu adamlar durmamış tekrar düşünmüş
ORM adındaki Facade, oluşturulan Class türünden değer alsın. Olay şöyle:
ORM<persons>.Insert(p);
Yani Tip olarak yaratılan sınıfın adını alırken, crud işlemlerini instance üzerinden yapıyor.
Bu sayede de bu instance'da yer alan propların hem name hem de value'larını alıyor.
Şimdi düşününce her defasında INSERT gibi sorguları yazmak çok mu mantıklı? Hayır. Artık orm kullanmanın da zamanı geldi ülkemiz açısından da önemli. reflection bilmek önemlidir.
Sizi yoracak tek bir şey olabilir o da sınıflar ve sınıflara oluşturacağınız proplar. Ama ona da ne gerek var ki yanılmıyorum değil mi.
Yeni tür ORM'ler procedure ya da klasik sorguları da ayırt edebiliyorlar. Bu bakımdan şanslı bir development süreci bulunmakta.
Gündemdeki Haberler
Güncel Önemli Başlıklar