..
Pirms pārcelšanās lai redzētu, kā jums izveidot ar to aspektu pointcuts un konsultācijas, ir ļoti svarīgi saprast, kā tuvinātajām.
Proxy nav nekas cits kā iesaiņojuma (taras), kas satur objektu un pakļauj visas sabiedriskās medodi objektu.
Kad jūs izmantot metodi proxy faktisko īstenošanu metode ir deleģēta objektu Wrap, tādējādi padarot starpniekservera klātbūtni pilnīgi pārredzama lietotājiem.
Pilnvaras izmanto pavasara AOP, lai īstenotu nekā vienkārša delegāts metodes, nodarbojas arī ar dažādu vadības konsultācijas.
Mēs saprotam, cik tas proxy īstenot vienu ļoti vienkārši. Vispirms mēs izveidot vienkāršu interfeisu:
{Valsts saskarne SimpleInterface
valsts spēkā f1 ();
valsts spēkā f2 ();
}
mēs izveidot pat vienkāršu īstenošanu:
SimplePojo {valsts klases īsteno SimpleInterface
@ Override
valsts spēkā f1 () {
System.out.println ("F1");
f2 ();
}
@ Override
valsts spēkā f2 () {
System.out.println ("F2");
}
}
Mēs atzīmējam, ka metode f1 () veic zvanu, lai f2 ().
Let 's tagad izveidot proxy, kā jau teica, mums ir nepieciešams izveidot konteiners objektu un pakļaut visas tās metodes, tad proxy īstenos interfeisu un pēc tam deleģēt SimpleInterface visi metode prasa, lai reālo objektu:
SimpleProxy {valsts klases īsteno SimpleInterface
Private SimpleInterface deleģē;
valsts SimpleProxy (SimpleInterface delegāts) {
super ();
this.delegate = pārstāvis;
}
@ Override
valsts spēkā f1 () {
System.out.println ("deleģēšana F1 ()");
delegate.f1 ();
}
@ Override
valsts spēkā f2 () {
System.out.println ("deleģēšana F2 ()");
delegate.f2 ();
}
}
Mūsu vienkāršs, piemēram, proxy tas ir izdrukātu ziņu, kurā teikts, ka ir deleģējot zvanu.
Mēs veidojam tagad Galvenais tests, lai redzētu, kā mūsu proxy:
valsts klases Main {
valsts statisko spēku galvenās (String [] args) {
/ / Izveidot gadījums pupu
SimpleInterface realBean SimplePojo = jauns ();
System.out.println ("##### pupu #####");
realBean.f1 ();
System.out.println ();
realBean.f2 ();
System.out.println ();
/ / Izveidot gadījums proxy
SimpleInterface SimpleProxy proxy = jauns (jauns SimplePojo ());
System.out.println ("##### proxy #####");
proxy.f1 ();
System.out.println ();
proxy.f2 ();
}
}
Pirmo bloku kods sniedz šādu produkciju:
##### Bean ##### F1 F2 F2Tagad varētu sagaidīt, ka otrā bloka jauda ir šāda:
##### ##### Proxy Deleģējot F1 () F1 Deleģējot F2 () F2 Deleģējot F2 () F2Invce nav! Rezultāts būs šāds:
##### ##### Proxy Deleģējot F1 () F1 F2 Deleģējot F2 () F2Kā mēs varam redzēt zvanu, ka metode f1 () ir metode, f2 () neiziet cauri proxy, jo, kad jums ir deleģēti izpildes metodi reāls objekts visi iekšējie zvani netiks pārtverta uz pilnvaras pamata.

| |
Linux (Kurss)
Pilnīga rokasgrāmata, lai atvērtā koda sistēmas. Sākot no 49 €. |
| |
PHP (Kurss)
Pilns kurss, lai radītu dinamisku tīmekļa vietnes. Sākot no 49 €. |
| |
Ruby un Ruby on Rails (Course)
Izveidot programmatūras un Web lietojumprogrammas ar Ruby un ROR. Sākot no € 39. |