..
Onların boy pointcuts ve tavsiye oluşturmak görmek için geçmeden önce, proxy nasıl anlamak çok önemlidir.
Proxy bir nesne içerir ve tüm kamu medodi nesne gösterir bir sarıcı (konteyner) başka bir şey değildir.
Proxy bir yöntem çağırdığınızda yöntemin gerçek uygulama böylece kullanıcıya proxy varlığı tamamen şeffaf hale nesne Wrap delege edilmiştir.
Proxy Bahar AOP basit temsilci yöntemleri de çeşitli yönetim danışmanlık uğraşmak daha uygulamak için kullanır.
Biz nasıl bir proxy çok basit bir uygulama yok anlıyorum. Öncelikle basit bir arayüz oluşturmak:
{Ortak arabirim SimpleInterface
public void f1 ();
public void f2 ();
}
hatta basit bir uygulama oluşturun:
SimplePojo {public class SimpleInterface uygular
@ Override
public void f1 () {
System.out.println ("F1");
f2 ();
}
@ Override
public void f2 () {
System.out.println ("F2");
}
}
Bu yöntem f1 () f2 () için bir çağrı yapar unutmayın.
Zaten biz bir nesnenin konteyner oluşturmak ve yöntemleri tüm göstermek, sonra da proxy arabirimini uygulayan ve daha sonra tüm yöntem gerçek nesneye çağrı SimpleInterface temsilci gerekir dediği gibi Şimdi, vekil yapalım:
SimpleProxy {public class SimpleInterface uygular
Özel SimpleInterface temsilci;
kamu SimpleProxy (SimpleInterface temsilci) {
super ();
this.delegate = temsilci;
}
@ Override
public void f1 () {
System.out.println ("F1 devretme ()");
delegate.f1 ();
}
@ Override
public void f2 () {
System.out.println ("F2 devretme ()");
delegate.f2 ();
}
}
Bizim basit örnekte, proxy çağrı delege olduğunu söyleyen bir mesaj baskı olduğunu öğrenin.
Şimdi nasıl bizim vekil görmek için bir ana test oluşturun:
public class Ana {
public static void main (String [] args) {
/ / Fasulye bir örneğini oluşturma
SimpleInterface realBean SimplePojo = new ();
System.out.println ("##### fasulye #####");
realBean.f1 ();
System.out.println ();
realBean.f2 ();
System.out.println ();
/ / Vekil bir örneğini oluşturma
SimpleInterface SimpleProxy Proxy = new (yeni SimplePojo ());
System.out.println ("##### vekil #####");
proxy.f1 ();
System.out.println ();
proxy.f2 ();
}
}
Kodun ilk bloğu şu çıktıyı verir:
##### Bean ##### F1 F2 F2Şimdi bir ikinci bloğunun çıkışı aşağıdadır beklenebilir:
##### ##### Proxy Delegasyon F1 () F1 Delegasyon F2 () F2 Delegasyon F2 () F2Değil Invce! Aşağıdaki gibi çıktı olacaktır:
##### ##### Proxy Delegasyon F1 () F1 F2 Delegasyon F2 () F2Biz yöntemi f1 () olduğunu çağrı Gördüğünüz gibi yöntemi f2 () size gerçek nesneye yöntemi yürütme temsilci yaptıktan sonra tüm iç çağrıları ele olmayacak, çünkü proxy üzerinden geçmez vekaleten.

| |
Linux (Ders)
Açık kaynak sistemi komple rehberi. 49 € düşük. |
| |
PHP (Ders)
Dinamik Web siteleri oluşturmak için tam ders. 49 € düşük. |
| |
Ruby on Rails ve Ruby (Ders)
Ruby ve RoR ile yazılım ve Web uygulamaları oluşturun. En düşük € 39. |