JAVA学习--反射之静态代理模式

 1 //静态代理模式
 2 //接口
 3 interface ClothFactory{
 4     void productCloth();
 5 }
 6 //被代理类
 7 class NikeClothFactory implements ClothFactory{
 8
 9     @Override
10     public void productCloth() {
11         System.out.println("Nike工厂生产一批衣服");
12     }
13 }
14 //代理类
15 class ProxyFactory implements ClothFactory{
16     ClothFactory cf;
17     //创建代理类的对象时,实际传入一个被代理类的对象
18     public ProxyFactory(ClothFactory cf){
19         this.cf = cf;
20     }
21
22     @Override
23     public void productCloth() {
24         System.out.println("代理类开始执行,收代理费$1000");
25         cf.productCloth();
26     }
27
28 }
29
30 public class TestClothProduct {
31     public static void main(String[] args) {
32         NikeClothFactory nike = new NikeClothFactory();//创建被代理类的对象
33         ProxyFactory proxy = new ProxyFactory(nike);//创建代理类的对象
34         proxy.productCloth();
35     }
36 }
时间: 2024-10-21 19:25:43

JAVA学习--反射之静态代理模式的相关文章

JAVA学习--反射之动态代理模式

1 import java.lang.reflect.InvocationHandler; 2 import java.lang.reflect.Method; 3 import java.lang.reflect.Proxy; 4 5 //动态代理的使用,体会反射是动态语言的关键 6 interface Subject { 7 void action(); 8 } 9 10 // 被代理类 11 class RealSubject implements Subject { 12 public

Java学习笔记——设计模式之四.代理模式

To be, or not to be: that is the question. --<哈姆雷特> 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问. 上代码: 1 package cn.no4.proxy; 2 3 public interface IMakeMoney { 4 5 void makeMoney(); 6 } 1 package cn.no4.proxy; 2 3 public class Proxy implements IMakeMoney { 4

java学习笔记-设计模式9(代理模式)

意图 为其他对象提供一种代理以控制对这个对象的访问. public interface Sourceable { public void method(); } public class Source implements Sourceable{ @Override public void method() { System.out.println("this is original method!"); } } public class Proxy implements Source

跟王老师学反射(十):静态代理模式

跟王老师学反射(十):静态代理模式 主讲教师:王少华   QQ群号:483773664 学习内容 理解代理机制 掌握静态代理 一.代理模式的概念 代理模式就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理. 代理模式一般涉及到三个角色 抽象角色:声明真实对象和代理对象的共同接口 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能替代真实对象相同的接口以便在任何时刻都能替代真实对

Java代理模式——静态代理模式

一:代理模式 代理模式的作用是:为其他对象提供一种代理以控制这个对象的访问.在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 二:代理模式设计到的角色 抽象角色:声明真是对象和代理对象的共同接口(抽象类或接口). 代理角色:代理对象角色内部含有对真是对象的引用,从而可以操作真是对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能够代替真是对象.同时,代理对象可以在执行真实对象的操作时,附加其他操作,相当于对真是对象进行封装. 真实

JAVA笔记7__接口应用/Object类/简单工厂模式/静态代理模式/适配器模式

/** * 接口应用 */ public class Main { public static void main(String[] args) { Person p = new Person("fish7"); p.setIsay(new BeforeGong()); p.say(); p.setIsay(new AfterGong()); p.say(); } } class Person{ //只有在运行期才和say行为关联起来,这就叫面向接口编程 private String

静态代理模式学习

静态代理模式 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问.代理模式说白了就是"简单对象的 代表",在访问对象时引入一定程度的间接性,因为这种间接性可以附加很多用途. // 测试类 public class ProxyPattern { public static void main(String[] args) { Action userAction = new UserAction();// 被代理对象 ActionProxy proxy = new Act

Java之静态代理模式

静态代理模式:这种模式可以实现帮助被代理者完成一些前期的准备工作和后期的善后工作,但是核心的业务逻辑仍然是由被代理者完成. 代码结构由三部分组成 (1)接口:主题 (2)代理类 (3)被代理类 实现方式:代理类和被代理类要实现同一个主题接口,而且代理类中要有一个被代理类的属性(target),这样才能把核心业务逻辑交还给被代理类完成:而一些与核心业务逻辑无关的逻辑,并且需求是多变的,那么这些逻辑就可以交给代理类来完成 示例 需求:计算add()的运行时间 public class StaticP

Java 静态代理模式

静态代理模式 : 1.都需要实现的接口 interface person{ void print(): } 2.实现接口的类: public class stu implements person{ @Override void print(){ sout("123"); } } 3.代理对象增强实现接口的类: public class stuProxy implements person{ private stu target; stuProxy(stu target){ this.