SORU
23 EKİM 2009, Cuma


DTO, VO, POJO, JavaBeans arasındaki fark?

Bazı benzer sorular gördük:

Ayrıca bana kullanıldıkları bağlamlarda söyleyebilir misiniz? Ya bunların amacı?

CEVAP
23 EKİM 2009, Cuma


JavaBeans

Bir JavaBean Güneş tarafından tanımlanan the JavaBeans conventions şöyle bir sınıftır. Vikipedi JavaBeans ne güzel bir özeti vardır:

JavaBeans görsel oluşturucu bir araç olarak manipüle edilebilir Java için yeniden kullanılabilir yazılım bileşenleri vardır. Pratik olarak, sınıflar Java programlama dili ile yazılmış, belirli bir sözleşme için uygun. Birden fazla fasulye gibi tek bir nesne olarak değil, tek tek nesneler etrafında geçti böylece tek bir nesne (bean) içine birçok nesne saklanması için kullanılır. Bir JavaBean seri hale getirilebilir, nullary bir kurucu ve özellikleri alıcı ve ayarlayıcı yöntemleri kullanarak erişim sağlayan bir Java nesnesidir.

JavaBean bir sınıf olarak çalışması için, nesne bir sınıf yöntemi adlandırma, inşaat ve davranışları hakkında itaat belli kuralları olmalı. Bu kuralları mümkün, yeniden kullan, değiştir, kullan, ve JavaBeans bağlanabilen araçlar var.

Gerekli kuralları şunlardır:

  • Sınıf genel varsayılan bir oluşturucuya sahip olmalıdır. Bu düzenleme ve etkinleştirme çerçeveler içinde kolay örnekleme sağlar.
  • Sınıf özelliklerini erişilebilir almak, set ve diğer yöntemler (sözde erişimci yöntemleri ve değiştiren yöntemleri) kullanarak, standart bir adlandırma kuralı aşağıdaki gibi olmalıdır. Bu özellikleri türleri için özel editörler dahil birçok çerçeveler, içinde fasulye devletin otomatik kontrol ve güncelleme kolaylığı sağlar.
  • Sınıf seri hale getirilebilir olması gerekir. Bu uygulamalar ve çerçeveler güvenilir bir şekilde kaydetmek, saklamak, ve VM ve platform bağımsız bir şekilde bean'in durumunu geri yüklemek için izin verir.

Bu gereksinimler büyük ölçüde uygulanmasına olanak kuralları yerine ifade edilir, çünkü bazı geliştiriciler belirli bir adlandırma kurallarına Düz Eski Java Nesneleri olarak JavaBeans görüntüleyin.

POJO

Düz Eski Java Nesne veya POJO bir terim başlangıçta basit basit Java nesnesi tayin tanıtıldı, ağır siklet YEREL aksine javax.ejb herhangi bir arabirim, 2 uygulamadığı.x (özellikle Varlık Fasulye, Vatansız Oturum Fasulye o kadar da kötü değil IMO). Bugün, terim hiçbir ekstra malzeme ile herhangi bir basit nesne için kullanılır. Yine Wikipedia POJO tanımlama iyi bir iş yapar:

POJO Düz Eski Java kısaltmasıdır Nesne. Adını vurgulamak için kullanılır söz konusu nesne olduğunu sıradan Java değil, özel bir Nesne nesne, ve özellikle bir Enterprise JavaBean (özellikle önce YEREL 3). Dönem Martin tarafından icat edildi Fowler, Rebecca Parsons ve Josh Eylül ayında MacKenzie 2000:

"Merak ettik neden insanlar onların düzenli nesneleri kullanarak karşı yani sistemleri ve olduğu sonucuna vardı basit nesneleri bir fantezi olmadığı için adı. Onları bir verdik, ve bu yüzden çok güzel yakaladı."

Dönem düzen devam bu teknolojileri büyük fayda güzel güzel yeni özellikler gibi kullanın POTS (Düz Eski Telefon Hizmeti) telefon ve POD (Plain Old Data Yapılar) o C olarak tanımlanır ama sadece C dil özelliklerini kullanmak ve Perl POD (Plain Old Documentation).

Vadede büyük olasılıkla yükseldi yaygın şekilde kabul görmesi nedeniyle bir yaygın ve kolay tezat bu terimi anlamıyorum karmaşık nesne çerçeveler. Bir JavaBean bir POJO. seri hale getirilebilir, hiçbir bağımsız değişken vardır yapıcı ve erişim sağlar özelliklerini kullanarak alıcı ve ayarlayıcı yöntemleri. Enterprise JavaBean değil tek bir sınıf değil, ama bütün bir bileşen model (yine, YEREL 3 azaltır Enterprise JavaBeans karmaşıklığı).

Tasarımlar POJOs kullanarak hale geldikçe daha sık kullanılan, sistemleri ortaya çıkan bazı ver POJOs işlevsellik çerçeveler kullanılan ve hangi alanları konusunda daha fazla seçenek işlevselliği gerçekten ihtiyaç vardır. Hazırda Beklet ve Bahar örnektir.

Değer Nesne

Değer Nesne ya da bir VO değerleri (dolayısıyla değer nesneler) tutun java.lang.Integer gibi bir nesnedir. Daha resmi bir tanım için, ben sık sık Value Object Martin Fowler'ın açıklama için bakınız:

Kurumsal Uygulama Mimarisi Desenler Para veya tarih aralığı nesne gibi küçük bir Değer nesnesi nesne olarak tarif ettim. Onların temel özelliği referans semantiği yerine değer semantik uymaktır.

Genellikle iki değer nesneleri tüm alanlarında eşit yerine eşitlik kendi fikri kimliğe dayalı değil, çünkü onlara söyleyebilirsin. Tüm alanların eşit olmasına rağmen, eğer bir alt kümesi benzersiz ise tüm alanları karşılaştırmak için gerek yoktur - örneğin döviz nesneler için para kodları eşitlik testi için yeterli.

Genel bir tahmini değeri, nesnelerin tamamen sabit olmalıdır. Eğer yeni bir nesne yerine hangi nesne ve değeri değerleri güncelleştirmek için izin verilmemesi bir değeri değiştirmek isterseniz kendisi nesne - güncellenebilir değer nesneleri yumuşatma sorunlara yol açar.

Erken J2EE Edebiyatı Data Transfer Object dediğim farklı bir kavramı açıklamak için dönem değer nesnesi kullanılır. Beri kullanımı değişti ve terim Transfer Object kullanın.

Biraz daha Dirk Riehle wiki ve değer nesneleri iyi malzeme bulabilirsiniz.

Veri Transfer Nesnesi

Veri Aktarımı Nesne ya da DTO (anti) bir desen YEREL ile tanıttı. Yerine EJBs çok uzak çağrıları yapan, fikir ağ üzerinden transfer edilebilir bir değer nesnesi veri saklanması için: Veri Transfer Nesnesi. Vikipedi Data Transfer Object düzgün bir tanımı vardır:

Veri transfer nesnesi (DTO), değer nesneleri veya VO olarak bilinen yeni bir tasarım deseni yazılım uygulaması alt sistemler arasında veri transferi için kullanılır. DTOs genellikle veri erişim nesneleri ile birlikte bir veritabanından veri almak için kullanılır.

Veri aktarım nesneleri ve iş nesneleri veya veri erişim nesneleri arasındaki farkı bir DTO kendi veri depolama ve alma (set ve mutators) dışında herhangi bir davranış yok.

Bir geleneksel YEREL mimarisi, DTOs hizmet çift amacı vardır: birincisi, onlar geçici çözüm, bu sorunu varlık fasulye değil seri hale getirilebilir, ikincisi dolaylı olarak tanımlamak bir montaj sürecine tüm veriler için kullanılan görünümdür getirilen ve sıraya içine DTOs dönmeden önce kontrol etmek için Sunum Katmanı.


Yani, birçok insan için, DTOs ve VOs aynı şeydir (ama Fowler VOs gördüğümüz gibi başka bir şey demek için kullanır). Çoğu zaman, JavaBeans kuralları takip ederler ve böylece de JavaBeans. Ve tüm POJOs.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006
  • Videojug

    Videojug

    25 EKİM 2006