首页 > 代码库 > 代理-不完全
代理-不完全
package org.web.proxy; import java.lang.reflect.Method; public class Context implements MethodProxy { public String method = null; public String service = null; public String methodStatus = null; public String setMethod(String method) { if(method == null) { try { throw new Exception(); } catch (Exception e) { e.printStackTrace(); } } this.method = method; return "ok"; } public String setService(String service) { if(service == null) { try { throw new Exception(); } catch (Exception e) { e.printStackTrace(); } } this.service = service; return "ok"; } public String invokeMethod() { if(this.service == null || this.method == null) { System.out.println("No Service || No Method"); System.exit(-1); } else { try { Class<?> cla = Class.forName("org.web.service.HelloService"); Method[] methods = cla.getMethods(); Method m = cla.getMethod(this.method, String.class); this.methodStatus = String.valueOf(m.invoke(cla.newInstance(), "fuckyou")); } catch (Exception e) { e.printStackTrace(); } } return this.methodStatus; } }
这是最重要的一个类。。。里面用到了反射。。
package org.web.proxy; //定义的一些接口方法。。 public interface MethodProxy { //setMethod public String setMethod(String method); //setService public String setService(String service); //invoke method public String invokeMethod(); }
package org.web; import org.web.proxy.Context; public class ProxyPattern { public static void main(String[] args) { Context context = new Context(); context.setService("org.web.service.HelloService"); context.setMethod("helloWorld"); System.out.println("Main Method :" + context.invokeMethod()); } }
Main方法。其实就是起一个调用的过程。。。。
package org.web.service; public class HelloService { public String helloWorld(String name) { System.out.println("HelloService: " + name); return name; } }
service 类。
总结。。。感觉还是封装。。。。。。其它,没了。。。
代理-不完全
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。