Bu konu ile alakali tartisma forumlarinda anladigim kadariyla iki firka var:

1. Görüs: Java siniflarimiz temiz kalsin, annotation veya baska yollarla kirletmeyelim, cünkü POJO'muzun nerede kullanilacagi belli olmaz, sonra Context tarafindan degerlendirilip sacma sapan seylere yol acabilir. Ayrica mimari olarak ta hersey yerli yerince yerlestirilmeli, yani Database ve JPA ile alakali seyler bir yerde olmali ve bununla alakali direktifler mimarimizin baska katmanlarinda görülmemeli.

2. Görüs: Annotationlarin bir zarari yok, tam tersi siniflara ilintilendirildiklerinde hedefler ve islevler daha net bir sekilde belirlenmis ve ayrilmis olur.

Sizin fikiriniz nedir?

soruldu: 03 Haz '13, 06:37

cakiral's gravatar image

cakiral
1.7k224351
cevap kabul oranı: 18%


XML ile ORM tanimlamalari sanirim Java 5 öncesi versiyonlarda yaygindi. Java 5 sonrasi annotation'lar isleri cok daha kolaylastirdi ve artik Entity Beans icin standart tanimlama haline geldi. Bence XML tanimlamalari bir projeyi cok daha karmasiklastiriyor, ornegin veritabaninda 50 tablo olan bir proje yazdiginizi dusunun, 50 tane POJO ve 50 tane XML tanimlamasi yapmaniz gerekir ve her degisiklikte POJO ve XML tanimlamalarini birlikte güncellemeniz gerekir.

Eger JPA kullaniyorsaniz POJO kullanimi zaman kaybi ve daha yavastir. Eger Entity Beans yapilarindan farkli class yapilarina ihtiyac duyuluyorsa DTO(Data Transfer Object) (Value Object olarak da ismi geciyor) yazilarak Entity Beans yapisi bozulmadan farkli islemler yapilabilir.

Eger GWT, Vaadin, ExtGWT, SmartGWT gibi frameworklerle calisiyorsaniz Entity Beans(Domain Objects) client tarafinda direk kullanilamiyor, client tarafina ya dönüstürülebilir formatta POJO ya da JSON, XML benzeri formatlar gondermeniz gerekiyor. Bu gibi durumlarda bile ORM tanimlarini XML ile yapmak yerine Entity Beans degisik araclarla POJO (GWT tarafindan desteklenen tipte), JSON veya XML'e dönüstürülebilir.

permanent link

cevaplandı: 04 Haz '13, 03:28

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×86
×33
×3

Soruldu: 03 Haz '13, 06:37

Görüntüleme: 1,029 kez

Son güncelleme: 04 Haz '13, 03:28

powered by BitNami OSQA