From 46d3e4c335caf3651822ba598121517e3165d0a8 Mon Sep 17 00:00:00 2001 From: chenjianqiang Date: Wed, 24 Nov 2021 11:00:53 +0800 Subject: [PATCH] =?UTF-8?q?11-24=E5=A4=8D=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/workspace.xml | 11 +++++++++-- .../com/pattern/PatternApplication.class | Bin 504 -> 512 bytes .../com/pattern/ProxyPattern/ProxyMain.class | Bin 1391 -> 1419 bytes .../pattern/ProxyPattern/materials/README.md | 2 ++ .../materials/po/YellowBullHandler.class | Bin 2160 -> 2174 bytes src/com/pattern/PatternApplication.java | 14 +++++++------- src/com/pattern/ProxyPattern/ProxyMain.java | 1 + .../pattern/ProxyPattern/materials/README.md | 2 ++ .../materials/po/YellowBullHandler.java | 10 ++++++---- 9 files changed, 27 insertions(+), 13 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 0d84d72..8494d15 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,8 +2,10 @@ - + + + + + + + @@ -156,7 +162,8 @@ - + + 1634096220780 diff --git a/out/production/patterns/com/pattern/PatternApplication.class b/out/production/patterns/com/pattern/PatternApplication.class index 77a84322e28da84717ce23253864e394bfebd30c..c5aebe48760ac73c736a1f294b2fc0e1f9108e8c 100644 GIT binary patch delta 97 zcmeyt+`z(h>ff$?3=9k=43ZPMUfEbA=jZAdB$kw<7Uk)C<^idKqEsLm02Rtj1adMH ibBd8AeG@bDco_I5OEH>Fj$^E3ff$?3=9k=3{n%hUa2W1=jZAdB$kw<7Uk&&6y;Y`1|V~M6EpL87$hef zFq-i(GH@5Arsbq2mw-ekr!iJ4dNOb^1Tk;}jpJcp1d`kg0t|vcnvp>WNHQ@90{}z% B9G(CG diff --git a/out/production/patterns/com/pattern/ProxyPattern/ProxyMain.class b/out/production/patterns/com/pattern/ProxyPattern/ProxyMain.class index 4649b0ebd1b9bd3d087a649f860f90a8c8ea4cda..fb205bb327f4170622a07fb76b44dace7d7e31c3 100644 GIT binary patch delta 397 zcmX|+y-osA5QV>cciG)65K(YZPz1&0M-f!~FD#8FTBxr;VgZrF+Rn~$Ydc?nQVSn| zSMVW>u{X|Li1#LE=FB~3X6~2&oV*_YzJCB+j(z3`U1~m>(4%f*!=>rtu;H<3qVSfF zPiSDvrR~v4lBQu`+hxaPcXT;cR+d~;&}UAUJ;h=4s5#)-lIIi6JLAA9d`Y7D&wz1}X9}nmoY*ixL%usdiwu zRS><{#S^0{OCKmrRUQFFmPDP$Wm)Q4@|B5GbWg%}LHxyQrTaPztPQ3rK%F|gHsgy;j#WBMwYw_Qzao_bno%SfQ delta 395 zcmYLEJ5Iwu5PiGr&$2O6NJv5wz}SfcF&_g7P;dYwBpN6YC6}P#094VQf(oTVqJTb^ z2shvch-W*%7W3xKzL_`kRQWPjv+uWe0ArjPtRV3*Fpx+zwsYL^F*NXyYV77nzGq;N z&PJ z#FKg3-m8xrM5uC${3!_P>x`>p8Bq}3^c7;tM54jy6~zEe=0Pby3u|No?XuZEI+ViBOH-y^%)Y0`MrzqqOE601f3a&UihGVG}oCCgj@xniB?I8>R delta 224 zcmXYrxeCHi5JgY&Tp~em>l8GmabMyFR$2=pwtk5q*a+I^4=k)jLHsN`E5)l=yqP<5 z&&<4c>XAAhZ7Uz1?1PoR2Ig*(9x=)!@yX$Z&sa4*C88eeFT^v>jYK$z@3u4MWHFTF zv~U$`I5f$q8Y@reGGibrU_p;HeKri)F~SqQ6z$5dP$eqTXuhCJ3mVk*qGI;?iLd-s eO}W-jwP<4(f3l+^Mr+;waG-9E$O|`IIsOMeksTrc diff --git a/src/com/pattern/PatternApplication.java b/src/com/pattern/PatternApplication.java index 6d22d6c..93af7e4 100644 --- a/src/com/pattern/PatternApplication.java +++ b/src/com/pattern/PatternApplication.java @@ -1,7 +1,5 @@ package com.pattern; -import com.pattern.ProxyPattern.ProxyMain; - /** * @author lx */ @@ -13,6 +11,7 @@ public class PatternApplication { 解释器模式 new InterpreterMain().main(); 2021-10-14:制作多个计算规则,用这些规则去拼装组合来实现某些需求 + 2021-11-24:一个接口很多实例的类,其中一个类是终端计算规则,剩下的类传入一个或多个终端计算,并把每一个终端计算结果再进行计算,成为一个单独的计算规则 */ @@ -21,7 +20,7 @@ public class PatternApplication { 策略模式 new StrategyMain().main(); 2021-10-14:通过构造context传入不同的规则,再给context执行方法传入不同的值进行不同的计算 - + 2021-11-24:context作为触发器,传进来不同的策略,然后执行策略里面的方法 */ @@ -38,7 +37,7 @@ public class PatternApplication { /* 工厂模式 -- 方法工厂 new FunctionFactoryMain().main(); - 2021-10-14: + 2021-10-14: 一个工厂只能造一种产品,也就是一个方法工厂返回一个对象,想要多个对象就要多个工厂 */ @@ -47,7 +46,7 @@ public class PatternApplication { /* 工厂模式 -- 抽象工厂 new AbstractFactoryMain().main(); - 2021-10-14: + 2021-10-14: 把工厂抽象,实例化一个工厂定义多个对象的产出,然后实例化这个工厂就可以拿到多个产品 */ @@ -70,9 +69,10 @@ public class PatternApplication { */ - new ProxyMain().reflectMain(); /* - 代理模式 + 代理模式 ---动态代理 + new ProxyMain().reflectMain(); + 代理模式 ---静态代理 new ProxyMain().staticMain(); 2021-10-14: diff --git a/src/com/pattern/ProxyPattern/ProxyMain.java b/src/com/pattern/ProxyPattern/ProxyMain.java index 67f77c2..4b29bf6 100644 --- a/src/com/pattern/ProxyPattern/ProxyMain.java +++ b/src/com/pattern/ProxyPattern/ProxyMain.java @@ -36,5 +36,6 @@ public class ProxyMain { YellowBullHandler handler = new YellowBullHandler(); TicketService subject = (TicketService) handler.newProxyInstance(beijingStation); subject.consultation("你们卖票的么?"); + subject.sellT(); } } diff --git a/src/com/pattern/ProxyPattern/materials/README.md b/src/com/pattern/ProxyPattern/materials/README.md index e69de29..6ba9cd9 100644 --- a/src/com/pattern/ProxyPattern/materials/README.md +++ b/src/com/pattern/ProxyPattern/materials/README.md @@ -0,0 +1,2 @@ +主:官方卖票的地方 +代理:将官方买票的构造传进来,然后加上自己的服务然后调用官方的去实现这个功能 diff --git a/src/com/pattern/ProxyPattern/materials/po/YellowBullHandler.java b/src/com/pattern/ProxyPattern/materials/po/YellowBullHandler.java index 865da0a..2d1d637 100644 --- a/src/com/pattern/ProxyPattern/materials/po/YellowBullHandler.java +++ b/src/com/pattern/ProxyPattern/materials/po/YellowBullHandler.java @@ -56,11 +56,13 @@ public class YellowBullHandler implements InvocationHandler { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - System.out.println("高级黄牛为你服务..."); + System.out.println("...高级黄牛为你服务..."); Object ret; try { - for (int i = 0; i < args.length; i++) { - System.out.println("参数" + (i + 1) +":"+ args[i]); + if (args != null) { + for (int i = 0; i < args.length; i++) { + System.out.println("参数" + (i + 1) + ":" + args[i]); + } } //调用目标方法 ret = method.invoke(target, args); @@ -68,7 +70,7 @@ public class YellowBullHandler implements InvocationHandler { System.err.println(target.getClass().getName() + method.getName() + e); throw e; } - System.out.println("高级黄牛服务结束..."); + System.out.println("...高级黄牛服务结束..."); return ret; } } -- GitLab