代理模式有较委托模式, 就是委托人委托代理做什么事情。
代理模式分静态和动态两种。 先讲静态的, 这个比较简单。
我们以“幕后黑手雇职业杀手+枪杀钉子户” 为场景来介绍。
客户端代码
public class Client {
public static void main(String[] args) {
// 幕后黑手想干掉"钉子户"
Killer manipulator = new Manipulator();
// 职业杀手出场
Killer hitman = new Hitman(manipulator);
// 杀手行动
hitman.setTarget("钉子户");
hitman.kill();
}
}
执行结果:
引用
钉子户 已经被锁定
钉子户 被干掉了
先来看看基本接口, 也就是要做什么
public interface Killer {
void setTarget(String target);
void kill();
}
然后就是两个具体的实现: 幕后黑手 + 职业杀手
public class Manipulator implements Killer {
private String target;
@Override
public void setTarget(String target) {
this.target = target;
System.out.println(target + " 已经被锁定");
}
@Override
public void kill() {
System.out.println(target + " 被干掉了");
}
}
public class Hitman implements Killer {
private Killer killer;
public Hitman(Killer killer) {
this.killer = killer;
}
@Override
public void setTarget(String target) {
killer.setTarget(target);
}
@Override
public void kill() {
killer.kill();
}
}
毛简单吧, 哈哈。
分享到:
相关推荐
在Java中,代理模式有多种实现方式,包括静态代理、JDK动态代理和CGLIB动态代理。 **静态代理** 静态代理是最早也是最基础的代理实现方式。在静态代理中,我们需要创建一个代理类,这个代理类与原始类(被代理类)...
Java中的代理模式--静态代理和动态代理 Java中的代理模式--静态代理和动态代理
在这个例子中,"优秀的设计模式示例-静态代理模式"提供了实际项目中的代码实例,旨在帮助开发者更好地理解和应用静态代理模式。 静态代理模式的核心思想是通过代理类来代理原始对象(也称为真实对象或服务对象),...
在Java中,代理模式主要分为静态代理和动态代理两种。 在本主题“代理模式之静态代理---数据库连接池对象实现原理”中,我们将探讨如何使用静态代理来实现数据库连接池。数据库连接池是现代应用中常用的优化手段,...
在本篇Spring学习笔记中,我们将探讨静态代理模式在Spring框架中的应用与分析。静态代理是一种常见的设计模式,它在不修改目标类代码的情况下,通过代理类来扩展或增强目标类的功能。在Spring中,静态代理主要应用于...
在Java中,代理模式可以通过多种方式实现,包括静态代理、动态代理(JDK动态代理和CGLIB动态代理)等。 **静态代理** 静态代理是最基础的代理形式,需要手动创建一个代理类,该类继承或实现与目标类相同的接口,并...
设计模式之代理模式_静态代理的一个java实现的demo。主类在Client中。仅代码实现,可供初学者参考使用
Java静态代理模式是一种设计模式,它允许我们为一个对象提供一个代理,以便增强或扩展其功能,同时不改变原有对象的代码。在Java中,静态代理是通过在代理类中显式实现目标接口来实现的。下面将详细介绍静态代理模式...
在Java中,代理模式主要有静态代理和动态代理两种实现方式。 1. 静态代理:在编译时就已经确定了代理类与目标类的关系。通常,代理类会实现和目标类相同的接口,以便于在代理类中调用目标类的方法。这种方式的缺点...
在这个静态代理案例中,静态代理模式主要用于增加额外的功能,例如日志记录、权限验证等,而不会影响到核心业务逻辑(购票)。代理类将持有目标对象(售票员),并在调用目标对象方法时进行预处理和后处理。 总的来...
在Java编程中,设计模式是一种解决常见问题的模板或最佳实践,它可以帮助开发者编写更加灵活、可维护和可扩展的代码。代理设计模式是其中的一种,它的主要作用是在...在实际开发中,应根据项目需求选择合适的代理模式。
静态代理是一种代理模式,其主要目的是在不修改原始对象(被代理对象)的基础上,通过一个中间代理类来控制对原始对象的访问。代理类通常会增加额外的功能或控制,如日志记录、权限检查、缓存等,而这些功能对原始...
Java编程模式-代理模式。介绍了静态代理模式和动态代理模式
静态代理模式是设计模式中的一种,它属于结构型模式,主要用来在不修改原有对象的基础上,通过一个代理对象来增强或扩展原对象的功能。在本篇文章中,我们将深入探讨静态代理模式的概念、工作原理以及其优缺点。 ##...
在Java编程中,代理模式是一种常见的设计模式,它允许我们为一个对象提供一个代理以控制对这个对象的访问。代理模式通常用于增加额外的功能或在访问原对象时进行额外的操作,比如日志记录、安全控制、性能统计等。...
代理模式的实现方式有多种,包括静态代理、动态代理。静态代理是在编译时就已经确定代理类,而动态代理则是在运行时动态创建代理对象,通常利用Java的`java.lang.reflect.Proxy`类或C#的`System.Reflection.Emit`...
Java 动态代理详解(代理模式+静态代理+JDK动态代理+CGLIB动态代理) Java 动态代理是 Java 编程语言中的一种强大工具,广泛应用于 Spring AOP、Hibernate 数据查询、测试框架的后端 mock、RPC 远程调用、Java 注解...
代理模式又分为静态代理、jdk 动态代理、cglib 动态代理三种实现方式。每种实现方式都有其优点和适用的场景: 1. 静态代理:代理类需要非常明确,所以无法做到通用,但是效率也是最高的。静态代理需要定义一个接口...
代理模式可以进一步细分为静态代理和动态代理。 - **静态代理**:在程序编译时就已经确定代理类的具体实现方式。这意味着每次需要代理不同的操作时,都需要修改代理类的代码,这违反了软件工程中的开闭原则。 - **...