1. 程式人生 > >JAVA設計模式之---代理模式(一)

JAVA設計模式之---代理模式(一)

前言

今天學習了代理模式,儘管只是對靜態代理有了一點理解,但還是非常開心的總結一下.

-. 靜態代理 -. 繼承代理 -. 聚合代理

繼承代理

首先是要講述的是繼承代理 下面是我建立繼承代理的過程,如下:
  1. 建立介面
package proxy.mayong.org;

public interface Moveable {
	
	void move();//這裡定義一個方法
}
  1. 建立一個實現介面的類car
package proxy.mayong.org;

import java.util.Random;

public class car implements Moveable {

	@Override
	public void move()  {
		
		
		//睡眠一會
		try {//下面是睡眠一會,,也就是暫停一下.
			Thread.sleep(new Random().nextInt(1000));//引入包  shift + ctrl + o
			System.out.println("開車中....");
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}

}

  1. 建立 繼承car 的car2
public void move() {
	//  實現了父類的方法.
	long startTime  = System.currentTimeMillis();
	System.out.println("開車了.....");
	super.move();
	long endTime = System.currentTimeMillis();//以秒為單位來計數
	System.out.println("結束開車....");
	System.out.println("共耗時"+(endTime-startTime)+"毫秒");
}

}

這樣,在測試類中,我們就可以建立car2的物件,然後呼叫move 方法.

聚合代理

(個人理解): 建立一個繼承主類的類, 同時 在內部重新編寫構造方法,傳入一個car,然後重寫起方法,對其進行封裝打包,,然後作為整體 可以傳入其他的 代理中. 這樣就實現了類似於巢狀的功能. 程式碼如下:
  1. 建立 公共介面.