程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 淺談-Java設計模式之靜態代理,淺談-java設計模式

淺談-Java設計模式之靜態代理,淺談-java設計模式

編輯:JAVA綜合教程

淺談-Java設計模式之靜態代理,淺談-java設計模式


代理模式(Proxy pattern):當一個對象不想或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。靜態代理是具體去實現需要代理對象接口,覆寫方法時進行個性化操作。

單獨為代理而實現作為某個接口實現類的則為靜態代理(Static Proxy)。

不多說了,上代碼​

package com.ant;

public interface Hello {

public void say();

}

package com.ant;

public class HelloImpl implements Hello {

@Override

public void say() {

System.out.println("hellw world!");

}

}

package com.ant;

 

public class StaticProxy implements Hello {

private Hello hello;

@Override

public void say() {

System.out.println("staticProxy welcome");

hello.say();

}

public StaticProxy(Hello hello){

this.hello = hello;

}

}

package com.ant;

 

public class StaticProxyTest {

public static void main(String[] args) {

Hello hello = new HelloImpl();

StaticProxy staticProxy = new StaticProxy(hello);

staticProxy.say();

}

}

總結:

靜態代理有一個弊端,就是當接口中的方法進行了變更時(新增、刪減必要實現方法時),所有的代理類都必須做相應的變更(假設有多個代理類情況下),無疑增加了代碼復雜度,復用性低,這個時候就可以有動態代理。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved