Learn reflex with teacher Wang (10): Static proxy mode teacher: Wang Shaohua QQ Group: 483773664 Learning Content
Understanding the proxy mechanism
Mastering static Proxies
First, the concept of Agent mode
A proxy mode is a proxy theme that operates on real topics, real-world topics that perform specific business operations, and agents that are responsible for other related business processes.
650) this.width=650; "Src=" data:image/png;base64,ivborw0kggoaaaansuheugaaakgaaad2caiaaacii+/ uaaaeakleqvr4no3dlyzcpb7hcr9bctidq0mpibrw4qmipyuhn+ybluwewbdprjpqflwk0ko9ubdqslp0gmlaekslq6blkswikmyb/ 63l2pmx3ukynsz3a6ruvgq8ju1f4nhm1aaawiqouxcaaiapewwagfuh2aaaq0kwaqbwhwadakwkwqyawbwcdqcwkgqbagbvcdyawkoqbacavshyaacr8sjge3 x8baaammlj4+ojg+3r168kaidpfp78+ztb1jsnuur29vydaadhefpmjvlqw4cppw+ 2cqsbalhyk2ckwqyaocwcdqcwkgqbagbvcdyawkoqbacavshyggeybq110zt2z7is8zwviuj0jxqhpmmkoiikwr4duuvrvfe5rvhudt1v+ yd5ewza/1tgnuf2lrztkyr5wbc1bttd0bbq+77ve+/ Gqqqsjknr2hitpmlvvfjirxwaprs3aixrsu192cgwqqfgg4ingpi8t9pug9ptnh1zskvpaoyzqghbywmze0vxdzjq8mftnemsdf0ndz4kscqypd6tjfop3ahw diin+h+gjuks3vjctfv9nytjasgwzzlxvpatjekip6ehbtsklnwtybtbbgxpmsrpjnuztyktqqosy/ i8905lyrku26uqkpokvu9ltjdzzaioyrk0t9vjwlqu5yl2u1vvaa0lqoqey2qaru6stymiklisu0rju2y8jz50yi1smnma1jq8kfawptzgc0v7nr2cdv2x57n 3rsqy1forpwqwtyikcliuwadbhksnw/0wdn5fttrnkytrwhtj8jy303pylyrn0zrugbhjqqpsslvvzyyxwsi3j0kiq799zdameg+ Y5bis3vmueypkbzqmnkkmmcyyorut/8vtszkewsybljm5mso11+hcr7ztk9v0akdephtmftvyxoanwvx3i5kmbsgahrfsuhr5nkt4ecss0jtnssz+ 6q76bsg1teoetcgsjhbml9vt0krjtwey3jme97nebbmsy7zqcte27a02e/4ubs0+ 3m7tq40sy2zh3zqdncjlkhknrbdh0slalgo9o0z783luec2pdcfohp3b5sahq+s6mv2ucuz5rnf2jg9z/ Wydbxqq0gabe1eyrufbtmerwp6ztw3rvufvkpzgw8krblh0dht2mmlhsa3dufwvxeawze7ivjvywlexsu45gxofuy17rddywvmw7xqbvf3aylpx8kwdbzb8ue bucdzcnhubtbhpeqabpllve7vgpg1bb8bywchmzte6z5uryv5r3t/dosocy/ Gueyxsbcfm369bwltmtzb937vr7gbb6bkqmdecdrdnljxap735rnslsrbxy2hujhgtrk5rnznk3jdwksudcvtoshkpkh9wvsvpzgnj2dumwgabflgilbn9ipt zxrbt+ysde7t3wu6wtdqsujnnlbn0l865fqushmdd5zkpmgutzfiwp22cykmyjj+3kfgejqlkv+ Ddkqtlstxxefrul1oo4aeqzf6wqip5vcwakzyqznjasyx5rylbi5e+ bodjokt5pih7oxg5hidlls8pjfaif3gsue5nfyq9t7wbdwtv3g5f0iwtinhwufq+d1el2z9lyk3swr3f6rqu6zq5a3s2zvvsbn42+ md7ot5r7xgvwv6/99whp7lkebx3l/ Unn8e47slhst1socxd4lqinubyyrjhmtj1p5egndwcdbho8k0o3pebagenyamararbbgbyfyinalaqbbsayfuingdaqhbsaibvidgaakssubbtnpsgaidj3n3 dnt7ypn36paaamm5mszllsdvno5s6vr7+hqca49zc3cil3r9/f/ Pg4xobaob4k2ckwqyaocwcdqcwkgqbagbvcdyawkoqbacavshyaacrqrabafaFyamararbbgbyfyinalaqbbsayfuingdaqhbsaibvidgaaktcsaeavovgawcscsegafgvgg0ascoegwbgvqg2amcqegwagfuh2aaaqxjrsg02mwyagopc3d2d ptg+ffqkaacyzmazowwwnu2jllq+vv4daidj3nzckkxev39/+mdjghsa4hitzwrbbga4jyitasaypmmgysik4trlaydzqldfq+ s6rbx8v2maqqpowx4aoase2zs6rsuyrg3bcbezzvnf9/bppm+ n3f6e6rrosmz3vzx0alhgvmhmjunx2faqruusjknreqoxkssypexber6nvdd1kird1217qfeubbuazcqbbhgog4uvkk3t8my8z+ Ws29kh2aashmb7ntg8mzwxxl5do+t23zazwnx9hk2wavjmmqvbnudvvev5bif97pwbsizzpndae+ c0cpc7s1fxdz7nazowrdf1xveuwza59xzfyf91xzrlmqvunud5nrvfk1usjaklbf/ dpl6whgrzvte11lprhb7ththw3gqty1ipdui2su1kwaqmukx2awhly9urah8tmnza7h19mwawh7icre/74oneltvez1lmjjh/ f0vho0igyhvgkkapvdit57n7llis7yswrsgbnaxdwzzyjts2rttap2nqrcjoem27s5lavkd7smwmszle3uuw2jbnfnvvq+zwtu3hv+ aapnhfvnt2uk3yhtemdly0te1bbsegydfxbzt7ozcoyrmce4sd4r3zg0msiuipruvcpyu7vzl0fe+ejqrp6gxm4chmvdzgxkqxa+ grtbhsz2uljt8lkv/ fufkiddyvi5mkblcyswk2d7zqjekioeenmlvvyzbalmwsjixdhy63dbuyosmnd8cemz0ltltwcsp4slbnnrx5xhmesyhdjntr+ Simnnt4yf8k2aas42yclu3tcgyvpngwbdjfue1fr4daoc9wzzvfhgxfuytbjq+4n9i2zr+685kzsae5buxsqhwxgmzeattbbmazzxns7volsw0q0q7s8kyih2fwl2wndrvzlrlrt44jtvdvd5+khlacmyvly+ Yga0bce7idls9gpyldbcbyacwm3maluscr7iph79zixyth1/gnw2cmcu87tgwbu8beisc7d5hzufcz2kolr2xigwps1nwhwsblmt1b5mtnhmes +dhnrfgfpdpdvvli2+iruypsnpwu0ghatm4p2izhkcx4zvm6uslbjndprb1b3k5+tdkhy/1labu3eh14wsooy7dm/xkxk2qju/ djapn8gf1m6b56vvvvvy0u9x+crfbh13zord0bvt8pvnd1uopyn7nkgn4+ Wvl2ub9upvteeadyo3zmic5vkwgwmmcwbknwpm1lz5o8oaeabhp2wdb3vzwwrpvsqe62zvsbtabgewsinmommwatwqyaejazdzyaafwegwbgvqg2amcqegwag fuh2aaaqxjrsg02mwyagopc3d2dpti+fpmimio//e1vpy4cgexr662phz+emtigybi/v3+h6fz73//+xz/+ozt6+9///q9//evuxqewo3q96+ 7u7sephyconkzr3bt3sqk3b94opd6+fxvq4gcyhb1+pgtb6x39+vxq6uqf//znmay3t7dxv1dfv349daeazihepyuc7frev359dxx1+ pg4dmpdw8pv1dxt7e2pcwvgrvt6wrfsj/bhwwel1n3dnb3l7du3sqn//ve/jywvgpnq6+dgsj3st2/fxr16dxnz4974/ fv3v69exv9ft3gpfuak6pulinho6y8//lbkptw8elff3997b3qa1ofevwcc7wq+f/68yzxuzc3nl7/88u3bt4vlbwa+9pplegyn8ephj19// fxxx3/dnvpqni1s6s8//1y4yabmqq9fdmf2gpvnrin1+fpnhy+5vb0dnbiaci7o9ysh2e5avvf+8ccfux/ 27du3q6ur3377bzlsazgpvx5jbnsjhd6tlt9nwcjg4nzr65desc1nvsf6/v7+kaf/+phj1atxr169yhewcl7o9qsj2byl8wyvx78+/ckfp35usr179262qggyeb1+eqtbol72pxc// fbb1duvi4cbc0svxx7btpwxh4u9pdwopfgqoeds0otpgmbbyjffmfpnn38qpb58+tj5wqdmhf5/kgtbqqsnvnv37mu/ns7hfd73ywgigb3+ vai2jxz79m2qx0/n8a04c/t6eylyfvlhw4fdv4yulnr76+n39/esaaboxd5ef0jhp9e/amewc6xyf8dfoeppgtqnbe0bueb0/ dlqp7ggfqmxii4/b+o0frrv4alr8edancac9g1cidr+hkjtwnc+gqtex58ddrol2jdwgej4c6boy0h7bi4qhx8o1gksan/ abaljz4e6jqxtg7hadpw5ukexoh0df4iopwfqnba0b+ac0fhnqj3ggvynxca6/hyo01jqvoelrmefa3uac9o3ciho+hogtmnb+wyueb1/ dtrplgjfwawi48+boo0f7ru4qht8ovcnsab9axeijj8h6jqwtg/ gathx50cdxol2dvwgov4cqnny0l6bc0thnwn1ggvan3cb6phzoe5jqfsglhadfw7uasxo38afouppgtqnbe0bueb0/dlqp7ggfqmxii4/b+ o0frrv4alr8edancac9g1cidr+hf5yp4+pjw0mpzq6drfw5fhxcdkegikxgfh0fdfth31jsh39+lub0fv8+ foexqvtyqdbqak77eucrwkapdtt7e07iepv3rxrsn348ggqfoijmydam3mhfxmwmwogwjtrmlf34jm8srbswcgaamzyo/aqbmb+ nngysxfgidia/ Wiimwpvweowafvrrgpg3oghyap2o4ngjl0dd8e2pejnxpitfkoqkila13vys1mwez4xrbh7iw3bfkxrtu38ztwzq2miqxtv3inl0h0emqazzinzlo32x7m3le T7s1euwuu9g09d13shhpnfse3Jgjmksz7nxpimadi0tdn04tjordm0ncbudz0kibtvtm2tjnnbjouiueod39zxf42raakrfnxeadtwor47cnhdzjdt0bitpmnymdm0lqwry9ionw7h3yfnu6xu 8qffpzp8341gm5ibh33fhxine6qqkkmsvu/lz6iobhmf7rihsuorvfr47crjtu10fwlbo+4rbdd1crb7/da9vimhspbplmu01vl/q4ktbvv3po /fkiq5fioti9gm5ixzwidtazpmwwb/bntwkswtiqcg2/ekzgk2lca2vep1+irj3f754m16/ tdjejezyrk0gbnyb2yahmbbrhan5avbkira66zpzjzc2ndzllmwuy2yqio54kqqyt5oj+vl6alve/unbmhefb66e4t0dhmhpm/ d2ckikpi897pe13v5nnuldcuczvld13jl3/dyjqiukkt6kxwsxmbntxr9yts74rnbagf3lr/ jsdda14yg2iwx3ksie0usje3tyabdw1npp1prl5oaptfaz1nmjkju2btwdtxomkagcxlhjrmaocgcbwjutjrlksdmfd8by/ i8lzlxircllmy8y5rc13vd16vpamct2ravxtd1ncybs4t0fe8mufvvmvunxsgmnkntne0lzauksln3kd5luehpkqg0v2/ ewy2zlzg8paoqpvrvvcay1vxsw1mtxz/ Y9k54jc3epbwwcum517er4uawpeu4tbdrsy8lg01cufkmletjtjzl4asrxjzzg02getsk2vnn4elk3vb0pupgdtumyyhhjlfxqgjase1mmpq0pizl3koyoijc yzdp09k+ Bczittg8sffptny2plyh5xku25swhqabngtvlnlbxt832nyulbukzn6vpg9t4bhkcqypia5pbhthdill4nvlizdlvmld28floai36w5k1nmfwrbo3mj1ila /ymgr/f/geztyyvoz97dbfql3u6nfjqhbnredq0vgg4f3jhruqvq/ewalzezxgaz3zdxogzs81+sy2y7+2wctti4nxslmnhcmgj75ewxyumx7x3yu72jsrlgwxs7j5j50rr3bjm85ddy59pqukiwosm6wsummw+ ac91xvdozgw7qqj7q72miscqpga8esmggwydsbrc12x91bf+vdy9vxuvbx0iwkn8ilmktodxevichysldy9o7tio7c3fb0jlf8tgy+ jm8ksw45y3pxhqnvgtuzgk1e0svyalb5clzfc3fczw02mat2tubepzzrue5mhftirbx7yo/8t1q/ hgsfwrag5fbzl3cvabjcs0y3baqbfhbb3ngp/nxjzbczs+ Afn9lzg2xdckvgx6ri0y7sbpt3qwrwpmhcy2w3s7tfpeazepmj2cb23gctezlbcr0wvpalxi8sppgea5ewbnuaexxa7qzy6w50fzp7dlum025n7pjcumtm3ie 5zzdpqo/ wxnlzuxndn9j2jhts7ujdkaftd7bjeelml8a7835hshkzme4d3ongwrewftintmhsc0puydwxdxpolcosn2vai2cbkjqcb83imax2ub+ 0hm85r0wqlmupxx/glx2uziqxor0ty3uvrwzs1kt9uffkdh+e5/jy2z4x6h3rybok8o4zni2bvio38y6jkbcmdqm3+ k2mia5svhthzpzsviu9lcanzni9vy5jfyjwvsuho0ope+1cpvyjq8c80um2is/y1jhaiwxbvisxbpknrnmwbdq7zjpulrcfa448s2t9/ ifqj0swtcleevvwvsrswgt0ebzcnbq1bvuwhhtuquu6cgvssuyl4k3vhy1ywobrv9nxds7aaprokkw1d+qbsnwu4/wfbr1hbpr+ 2ratnymxgxztixkvd6pb2b0zhfvi0qmk8clegubf8ryx7yqitrmkx3etnpvlh+ 1k9andaqkpttrm7j0dyasrefqaxxjzfjuitrmks3xthsxjfkj3utm4akixy+8ctmyvr797ae0inma/mmjm2dvwegzafjtrmlf34chygp1oojfj78bdsah70urjxt6bh2ad9qojxoy9aw/bbuxhe40zewcegg3yjyyam/ yopbef22azayao3d3dmxrgq2eawc8m77avcbzpnz4pihqbzwaqfoijmybg1iqd9uvnbnfx178dubq5uvfkvx//fqp+ ggkxgmazeyflghtwicyag7dv337//j28nb0dz+rngmddctfey/dw8pd69esw29g78bbswh400uimzht7b54ldba+74uikj/oc+9t29b7qb+ Mayqi2pt92g3bjv5awlskj2vzjv720rpmvjnszmmkni2gznie2cbegedcg03udt36c9r2inza23ffa733lzpl92qpjiq59x2fjin8ygnbtt6v5b7m5dxztq1s 6victywhmypetrf34lnoydpgemox/ea7/bnt2yzl5p9furzyk9ct/mrr3l/ 26f5mdtm04a9mp9fqa5khmzzutrf34chyfhqo8zz3hkj7bnbgchy8vu9tbszettjjzbzbtrkazoimkm029g48zxnscifhxqmu67wrn8mwlgvz17u3edv1xvvv dv2xzrnoeibdctgvz2+r4vguervfivn5yqm9s01d10nbmqbxhh8wtk5xpwmajilslxzwnvkruac+ 2e2yqqq8sjh5tvzvzff13oinu9fkkibooem2/fxxx+ Wduoiktr7vzrh5mfwcsldukisxd2mtzxw0xtgbses6d3bm09qbkcph2n2mfzasypdxsa7r0sfav3rvn8byscnl0l0nobwwovbe1o5shek5wsyvk9fg3lccsu3 k490/rws2zfctowi2ad08pmincdk7sm4p2izhkgct/9sjftu0iszl5clt27pjvtecd88fjt2tzvk2urtbcwbv4/ Kfqqrce7sksdzrsrmox9vi2yzlmgypogtyw8ewq0lpoogzwqyrrmdb+8jrq0gsdjyf8zx3z41kyivp80og4/ax7nds3iwnhwfh3lmce2ik7ma3dexbsju5w43egs44a3jhwrarsc7yovx9+3fo2obzybazy+rktiyg7zh+ icnxlmxeigu38nzh2bjjbzt9elis3awank1grbv78hrnte4o2gi1sbdf6fv3769fv/7pf/7d3ofrdcg2bxttwruh84cmx97ulvuk4xa8+ llsbzgefrdaa++57paxdla2bd1crlutowq2te0sbbgsvht4egdvwlogyppg0kqqzhrnw5gng6m7do4offmw2dk5wz4n//fg33abhx26/b+ xb3zttdo4dzpgyeok4a5aofx7tltwh39vhxdmtpdr1us2gs1rk6myomnju21g7ybwnseme1z29xz4r4zsrvhyidgyk2vz0zr1xdu1+ dlwyxjwuvzkpkxked40jtswd8nqlqusn5drpo4a6viwqctcn7ywu66hqiqzrbt9o/zz214llctjgz/zkmq0m5cy3n/ wqlq1ovqwyyaahmxqgru31qb2dgjne2wxs4lljbn9ykqcyj1inhs+ 9lnovymuizdqa3shayltwfvvydrctm3db0tec8k60qzpuq7bcsz3emfdrncktlwbvymawtybwqd/ 5hdbyhj6nqb7cs0e595e12e01qb2dgieg7afttqgt7e3yaon7b0ecdzgp5pozng78bbswh400zixd+ah2id9akixy+/aq7ab+ 9fey8begseiyntsng0qpbu7o4boadumipjz5b32jch26donyx67apjnzrozqp9gqgwggdvhh335gdv19fxvqjtkh1hev38/vt/ Bhbha4jm8w3kndstee40zeweeyzsewyyvoongjl0dd8ewnwnm8/tjnkcuy0wjicamvbpnxq4gbfu8uq6zvxxqni33izbyek00zuyduzc8gbbs0 +i6lssy9xfxjpdlwd/39k/vf92iutf1jl+dk3vp+phxbu10xvawdxhaph1a4g02d5fey1up5cdxjvyllbiswyosa39kdhl1xctV92x7woivgj6rfqydk8yaerrwasteyitzhfysvkm/syk/sl1maazfsge+ Dcchcx9aclbnweznnbf9evflfqf7mfmh3qfibbvmwwdiyqa5s2dl87yqkvfnle30a1mwez5rrb1dernlptgv6zrp8zrni6louq4oiizl3hulord /ui+dzzlsks/zpm/d4sktszkebbavbh8vv3szlkvrwmuttq7f6y69+ nyouzaluuqqpik1kqwtmkgv2qeels9vr6p9tgbaa7l39g2eeyitzgwg4bmufacjk9j6vi+esgtz91cwzcyy+b/ 8zrl9f5qmnvdtnlvztxmeu08py9k+afeu0p6gysjlug5k2rz16zdnu2+pjja+bxfjjrtv0r4rgwosjlf3uqw2zbpf3vsqu7vte/jeetm07tt3d +62vb4wxottmk1to0yqbjgpawgdsfisiilnvdf7gxl17i12d3mhj9lghqcrdv3n/iln3ytj3/fu0usapl77olxdei83ok3c24vhq0zylp/lfky +s1t+v6pyrdguvsbovctmwwdcaoi5m2bzt/zfkisym733xfwv1ehzlkmsfa63nrfvlmwtynhzme3shsrzwms54jukxu41k/ bcez5lid2gukpyrdgu7ehg/ytymbmgeayqz9kew5qmydxi7tzwlmwgyduljtauhca4kxivbpdfuyttul5xb7vcdvrvtkfmxb6lupwzo/ lfalv0joijnsyeayqbxhm2wezephxbzhlshvlvjmeybncmersmsixzlx0f0y7dvz98jmhycmavxtmeg1zydy+ndls+ gj1jclswwyb5miawghjidbaqe6zhlllydm3cs6l2ic4wdmyy96hhw7t0rw9li/ Eoperwlpwo5ei1x9vgjdh2zpqqdimrqtxb5lsjhmes6zrnldgdpvddvvli27vfuypsnpum2c8lwryzbhagem85bdswdevr1hvdlqxblkrdyl1aa28ffe +ll+xUltw6sjlvw3s6pk1ekqqxm3dvllhwoholewx5r10l5b56vvvvvdlxd1frds4a2fbt91pr90bvzwpvdr0umtpnlhket49wvl2tk5xpplheqdwos5bj /dkiqxbsmwmayqdxnfmwjtr3aa4d7ggo1xqwmiitzgwg21zsahl2wdb3vat6+ z4n7cbhsgvmjgmhgi1mdca7xoyasozgm8yyy9balhedgi1mdcdwnh2waqugicamvqmpwqbsrxongxshhoin2i8mgjp2djweg7afttrm7b14cdzgp5pozng78e qubjvnpggidhd3x9azryybbd+bvmo+jni+fpmigoh9/phxqn6cctgaynsehfylwtymw/39/tsgynd3dz9+/ jiqn2badcdwtnthxxhsaadeiwadakwkwqyawbwcdqcwkgqbagbvcdyawkoqbacavshyaacrqrabafafyamararbbgbyfyinalaq/ womzuk9i1iacwaaaabjru5erkjggg== ">
Proxy mode typically involves three roles
Abstract role: Common interface for declaring real objects and proxy objects
Proxy role: The proxy object role contains a reference to the real object, allowing you to manipulate the real object, while the proxy object provides the same interface as the real object to replace the real object at any time with the same interface so that the real object can be substituted at any moment. At the same time, when the proxy object can perform the real object operation, additional actions are attached, which is equivalent to the object's real object encapsulation
Real role: The real object represented by the proxy role is the object we end up applying
Second, proxy mode implementation:
Demand:
Normal business, print output HelloWorld
The ability to add print logs, that is, before and after normal business methods, to write to the log
(i) abstract role
1234 |
public interface UserService { //用于实现业务的方法 public void save(); } |
(ii) Real role
123456 |
public class userserviceimpl implements userservice{      Code class= "Java Color1" > @Override      public void save () {               } } |
(iii) Agent role
12345678910111213141516171819202122 |
public class UserServiceProxy
implements UserService{
//代理角色内部要有真实角色的引用
private UserServiceImpl realRole =
new UserServiceImpl();
@Override
public void save() {
preHandle();
realRole.save();
postHandle();
}
/**
* 代理类特有的方法
*/
private void preHandle(){
System.out.println(
"preHandle"
);
}
/**
* 代理类特有的方法
*/
private void postHandle(){
System.out.println(
"postHandle"
);
}
}
|
(iv) Use of proxy classes
123456 |
public class proxytest {      public static void main (string[] args) { userservice userservice = new Userserviceproxy (); userservice.save ();      } } |
650) this.width=650; "border=" 0 "src=" http://s3.51cto.com/wyfs02/M02/82/88/wKioL1dYDUPzQZilAAAOQwwnI34093.png " data_ue_src= "E:\My knowledge\temp\aa2ccccb-b90e-43e7-84f3-7b8ff5fed378.png" >
Third, static proxy
The above code demonstrates the static proxy, which means that the proxy class is created by the programmer, that is, the proxy class already exists before the program is run.
This proxy way, the disadvantage is very obvious:
1) The proxy class and the delegate class implement the same interface, and the proxy class implements the same method through the delegate class. There is a lot of code duplication. If an interface adds a method, all proxy classes need to implement this method in addition to all implementation classes that need to implement this method. Increases the complexity of code maintenance.
2) The proxy object serves only one type of object if it is to serve multiple types of objects. is bound to for each kind of object is agent, static agent in the program size is a little too large to be competent
So how to avoid the lack of static agents, then we can use dynamic agents, next lesson we will learn how to use dynamic Proxy
From for notes (Wiz)
Learn reflex with teacher Wang (10): Static proxy mode