模块化代理
This commit is contained in:
5
.idea/vcs.xml
generated
5
.idea/vcs.xml
generated
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="" />
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
|
||||
</project>
|
||||
121
.idea/workspace.xml
generated
121
.idea/workspace.xml
generated
@@ -1,7 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="87524ed3-9f15-48af-90a2-b58ffb27674c" name="Default" comment="" />
|
||||
<list default="true" id="87524ed3-9f15-48af-90a2-b58ffb27674c" name="Default" comment="">
|
||||
<change beforePath="" afterPath="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarLogProxy.java" />
|
||||
<change beforePath="" afterPath="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarTimeProxy.java" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change beforePath="$PROJECT_DIR$/out/production/JavaBase/com/fjy/proxy/StaticProxy/Client.class" afterPath="$PROJECT_DIR$/out/production/JavaBase/com/fjy/proxy/StaticProxy/Client.class" />
|
||||
<change beforePath="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Client.java" afterPath="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Client.java" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
@@ -12,21 +19,11 @@
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file leaf-file-name="Car.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Car.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="92">
|
||||
<caret line="4" column="38" lean-forward="false" selection-start-line="4" selection-start-column="38" selection-end-line="4" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Client.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Client.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="115">
|
||||
<caret line="8" column="8" lean-forward="false" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="8" />
|
||||
<state relative-caret-position="184">
|
||||
<caret line="8" column="24" lean-forward="true" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -35,8 +32,28 @@
|
||||
<file leaf-file-name="CarAggregation.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarAggregation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="345">
|
||||
<caret line="15" column="18" lean-forward="true" selection-start-line="15" selection-start-column="18" selection-end-line="15" selection-end-column="18" />
|
||||
<state relative-caret-position="161">
|
||||
<caret line="7" column="9" lean-forward="true" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="CarTimeProxy.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarTimeProxy.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="138">
|
||||
<caret line="6" column="10" lean-forward="false" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="10" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="CarLogProxy.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarLogProxy.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="115">
|
||||
<caret line="5" column="10" lean-forward="false" selection-start-line="5" selection-start-column="4" selection-end-line="5" selection-end-column="10" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -46,7 +63,7 @@
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarIntegration.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="253">
|
||||
<caret line="11" column="49" lean-forward="true" selection-start-line="6" selection-start-column="8" selection-end-line="11" selection-end-column="49" />
|
||||
<caret line="11" column="49" lean-forward="false" selection-start-line="6" selection-start-column="8" selection-end-line="11" selection-end-column="49" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -72,6 +89,9 @@
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="GradleLocalSettings">
|
||||
<option name="externalProjectsViewState">
|
||||
<projects_view />
|
||||
@@ -84,6 +104,8 @@
|
||||
<option value="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarIntegration.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Car.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarAggregation.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarLogProxy.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarTimeProxy.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Client.java" />
|
||||
</list>
|
||||
</option>
|
||||
@@ -99,6 +121,9 @@
|
||||
<option name="width" value="1009" />
|
||||
<option name="height" value="1047" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
|
||||
<ConfirmationsSetting value="2" id="Add" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||
<flattenPackages />
|
||||
@@ -133,6 +158,13 @@
|
||||
<item name="JavaBase" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="JavaBase" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="proxy" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="JavaBase" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="JavaBase" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="proxy" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="StaticProxy" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
@@ -146,6 +178,11 @@
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyClassDialog.RECENTS_KEY">
|
||||
<recent name="com.fjy.proxy.StaticProxy" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
@@ -232,12 +269,12 @@
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1522581153869</updated>
|
||||
<workItem from="1522581156473" duration="1358000" />
|
||||
<workItem from="1522581156473" duration="1950000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="1358000" />
|
||||
<option name="totallyTimeSpent" value="1950000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-7" y="0" width="1009" height="1047" extended-state="0" />
|
||||
@@ -251,8 +288,8 @@
|
||||
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32896176" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32932165" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
@@ -283,14 +320,6 @@
|
||||
<watches-manager />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/MoveAble.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="69">
|
||||
<caret line="3" column="22" lean-forward="false" selection-start-line="3" selection-start-column="22" selection-end-line="3" selection-end-column="22" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/Main.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="92">
|
||||
@@ -302,15 +331,23 @@
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarIntegration.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="253">
|
||||
<caret line="11" column="49" lean-forward="true" selection-start-line="6" selection-start-column="8" selection-end-line="11" selection-end-column="49" />
|
||||
<caret line="11" column="49" lean-forward="false" selection-start-line="6" selection-start-column="8" selection-end-line="11" selection-end-column="49" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/MoveAble.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="69">
|
||||
<caret line="3" column="22" lean-forward="false" selection-start-line="3" selection-start-column="22" selection-end-line="3" selection-end-column="22" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarAggregation.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="345">
|
||||
<caret line="15" column="18" lean-forward="true" selection-start-line="15" selection-start-column="18" selection-end-line="15" selection-end-column="18" />
|
||||
<state relative-caret-position="161">
|
||||
<caret line="7" column="9" lean-forward="true" selection-start-line="7" selection-start-column="9" selection-end-line="7" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -318,15 +355,31 @@
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Car.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="92">
|
||||
<caret line="4" column="38" lean-forward="false" selection-start-line="4" selection-start-column="38" selection-end-line="4" selection-end-column="38" />
|
||||
<caret line="4" column="13" lean-forward="false" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarLogProxy.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="115">
|
||||
<caret line="5" column="10" lean-forward="false" selection-start-line="5" selection-start-column="4" selection-end-line="5" selection-end-column="10" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/CarTimeProxy.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="138">
|
||||
<caret line="6" column="10" lean-forward="false" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="10" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/fjy/proxy/StaticProxy/Client.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="115">
|
||||
<caret line="8" column="8" lean-forward="false" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="8" />
|
||||
<state relative-caret-position="184">
|
||||
<caret line="8" column="24" lean-forward="true" selection-start-line="8" selection-start-column="24" selection-end-line="8" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
||||
Binary file not shown.
17
src/com/fjy/proxy/StaticProxy/CarLogProxy.java
Normal file
17
src/com/fjy/proxy/StaticProxy/CarLogProxy.java
Normal file
@@ -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("日志结束....");
|
||||
}
|
||||
}
|
||||
21
src/com/fjy/proxy/StaticProxy/CarTimeProxy.java
Normal file
21
src/com/fjy/proxy/StaticProxy/CarTimeProxy.java
Normal file
@@ -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) + "毫秒!");
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user