From deb98e7b002f939104e8d2ee32454a5f8702462d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Sun, 1 Apr 2018 19:45:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=8C=96=E4=BB=A3=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/vcs.xml | 5 +- .idea/workspace.xml | 121 +++++++++++++----- .../com/fjy/proxy/StaticProxy/Client.class | Bin 1442 -> 1967 bytes .../fjy/proxy/StaticProxy/CarLogProxy.java | 17 +++ .../fjy/proxy/StaticProxy/CarTimeProxy.java | 21 +++ src/com/fjy/proxy/StaticProxy/Client.java | 20 ++- 6 files changed, 143 insertions(+), 41 deletions(-) create mode 100644 src/com/fjy/proxy/StaticProxy/CarLogProxy.java create mode 100644 src/com/fjy/proxy/StaticProxy/CarTimeProxy.java diff --git a/.idea/vcs.xml b/.idea/vcs.xml index def6a6a..94a25f7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,7 +1,6 @@ - + - - + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 77f4250..e99ca21 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,7 +1,14 @@ - + + + + + + + + - - - - - - - - - - - - + + @@ -35,8 +32,28 @@ - - + + + + + + + + + + + + + + + + + + + + + + @@ -46,7 +63,7 @@ - + @@ -72,6 +89,9 @@ + + + + + @@ -133,6 +158,13 @@ + + + + + + + @@ -146,6 +178,11 @@ + + + + + - @@ -251,8 +288,8 @@ - - + + @@ -283,14 +320,6 @@ - - - - - - - - @@ -302,15 +331,23 @@ - + + + + + + + + + - - + + @@ -318,15 +355,31 @@ - + + + + + + + + + + + + + + + + + - - + + diff --git a/out/production/JavaBase/com/fjy/proxy/StaticProxy/Client.class b/out/production/JavaBase/com/fjy/proxy/StaticProxy/Client.class index f4ceae5e1dee13c08f222baa3f3c400a87dda83c..475e7b3bc076bc506ae7649503eac3b2b783890c 100644 GIT binary patch literal 1967 zcmbW2-%}G;6vw|e0e0D}5QB+8Q7|e*P*Pj_6HyRriv*>DI*d$`B^HygZ z$A@-?hfW{br%q=aU-bcKQ|r5b2Z;SA9KUz7A&G_UOp}?Ly?4*~e9t}So|{*1|NI-k z8Qj#+i%&K5;4?XVE{8AL@g>GooYgRna|+IDP^FEE2^EtHE@;r@T$l4H1s63$@l^zu zG6HR9t)k_g69}hH+z@D)vX@PP&Wu$wuapW)rn6uy z<+&2e*jXcg!*DD)_ZM5-JJvmcWF~7D(zjR2>AQ~oT{%7P8m^U{^PZ>jmRWSiNG=#w zQ6Q1Jm02G}Xb?x$6K)qHfUMNo)4&%(qu|G)CaHzMh=HkU6 z&_TcHqHE?H24^#p;b26AEot2~+GH;0m^lyOgVln4-<st}l>A`00OGg&iS*U01R_bGbBl;--1;zeaBR=@;sd-c)QU*ErZ@udEGT)~`x z93AuM6Buo9t#beQ_0j9ct9#G|Qi0Tl`t8Pk^Wc}Q)yMyn-EatGx)u~%7dZW|_+LN$ zZM*Vt>xZBBlsO)_g<7Gd277Zb(0He~0s{etUONgz>pggNX~oRCO-u9Td#+hvuh}KO zh*uldveR?yR+l|%8U-GqE|1Z?ETG(#MtL?^JhgkLhn*7NCjaBGdY3|S@14~8Nnj|5 zR5K$EM|hR?@{$GGAmlOUc!;w!e+7SAhu0yV@gao6z7Y^cKcDrg0R{*G+L6Rj-+6*_ z>8x!aw1MyjTIz%tT0HA8G)hM3r#H|v9K&(xiNT#vW~eP`@#kobwXH#^KwVr%`^@kf zwD-ZC`~!&cyPvmvYzG`gD~6Er!0ci_%qDQe1M39uli-f`!Eu5U1Ro^0y9qpu5f99p z!3QrhLm{pW$cQ@|BCa61$b|0CjQoL^KwTrj0KxRDWJFnj9%j4W`+}+=Z%fq;^gzKW zj8aLH*O0GRrec_cA*tBaq gZ6}L7K&;$!O}qmi;xt8*4EQ5_?3LyW?LzqE9qm{0H2?qr delta 703 zcmZ9JO-~b16o#MMDZSH~OJ}IeFtt{S_*q4)g5RiszykjO2}>3(U9qihj2jb@aph7I zT#faE2 zPON!kc+3-pKhu9SvxYh54HtDBJPdcV8z=4glft*2j{!D7UMW>HZWKs9}y|I=bjh8mW!VE{RiSl%NN zP0ClDVrRLybD>ZsmQ{O<>}O;nj)goTQ-`aL~@64MSLB4 smi{f6S?g;o(hwhAaWNDhE13hM*#WUY>@Yp)6*QN)EJrA=NKcN&f8y(4RR910 diff --git a/src/com/fjy/proxy/StaticProxy/CarLogProxy.java b/src/com/fjy/proxy/StaticProxy/CarLogProxy.java new file mode 100644 index 0000000..3d1a402 --- /dev/null +++ b/src/com/fjy/proxy/StaticProxy/CarLogProxy.java @@ -0,0 +1,17 @@ +package com.fjy.proxy.StaticProxy; + +public class CarLogProxy implements MoveAble{ + private MoveAble moveAble; + + public CarLogProxy(MoveAble moveAble) { + super(); + this.moveAble=moveAble; + } + + @Override + public void run() { + System.out.println("日志开始...."); + moveAble.run(); + System.out.println("日志结束...."); + } +} diff --git a/src/com/fjy/proxy/StaticProxy/CarTimeProxy.java b/src/com/fjy/proxy/StaticProxy/CarTimeProxy.java new file mode 100644 index 0000000..af02140 --- /dev/null +++ b/src/com/fjy/proxy/StaticProxy/CarTimeProxy.java @@ -0,0 +1,21 @@ +package com.fjy.proxy.StaticProxy; + +public class CarTimeProxy implements MoveAble{ + + private MoveAble moveAble; + + public CarTimeProxy(MoveAble moveAble) { + super(); + this.moveAble=moveAble; + } + + @Override + public void run() { + long startTime = System.currentTimeMillis(); + System.out.println("汽车开始行驶..."); + moveAble.run(); + long endTime = System.currentTimeMillis(); + System.out.println("汽车结束行驶.... 汽车行驶时间:" + + (endTime - startTime) + "毫秒!"); + } +} diff --git a/src/com/fjy/proxy/StaticProxy/Client.java b/src/com/fjy/proxy/StaticProxy/Client.java index 6257fae..2ec46b7 100644 --- a/src/com/fjy/proxy/StaticProxy/Client.java +++ b/src/com/fjy/proxy/StaticProxy/Client.java @@ -7,26 +7,38 @@ public class Client { */ public static void main(String[] args) { RunByCarProxy(); - System.out.println("==========="); RunByCarAggregationProxy(); + RunByModulProxy(); } //直接运行 private static void RunByCar(){ - System.out.println("不使用代理开车"); + System.out.println("===========不使用代理开车==========="); Car car = new Car(); car.run(); } //使用集成代理 private static void RunByCarProxy(){ - System.out.println("使用集成代理开车"); + System.out.println("===========使用集成代理开车==========="); CarIntegration carIntegration = new CarIntegration(); carIntegration.run(); } //使用聚合代理 private static void RunByCarAggregationProxy(){ - System.out.println("使用聚合代理开车"); + System.out.println("===========使用聚合代理开车==========="); Car car = new Car(); MoveAble moveAble = new CarAggregation(car); moveAble.run(); } + + //模组化代理 + private static void RunByModulProxy(){ + System.out.println("===========使用模组化代理开车==========="); + Car car = new Car(); + CarLogProxy carLogProxy = new CarLogProxy(car); + CarTimeProxy carTimeProxy = new CarTimeProxy(carLogProxy); + carTimeProxy.run(); + + } + + }