二、代理模式
package proxy;
//代理的目的是在达到目的之前可以做一些事情
class ImagProxy {// 代理
IImage id;
public ImagProxy(IImage id) {
this.id = id;
}
public void displayImag() {
System.out.println("显示缩略图片");
}
public void mousePress() {// 点击缩略图片
id.displayImag();
}
}
interface IImage {// 面向接口编程,目的是降低代理与实际类之间的偶合
public void displayImag();
}
class ImagDisplay implements IImage {// 实际工作类
public void displayImag() {
System.out.println("显示正常图片");// 非常消耗内存
}
}
public class Proxy {
public static void main(String[] args) {
ImagProxy proxy = new ImagProxy(new ImagDisplay());// 可以注入
proxy.displayImag();// 客户端感觉只是和代理
proxy.mousePress();// 想看实际图片
}
}
分享到:
相关推荐
**Java设计模式——代理模式详解** 代理模式是软件设计模式中的一个重要组成部分,它在Java编程中扮演着举足轻重的角色。代理模式的核心思想是为一个对象提供一个替身,这个替身即代理对象,代理对象可以控制对原...
### Java代理模式与Java动态代理详解 #### 一、代理模式概述 代理模式是一种软件设计模式,它在客户端和目标对象之间提供了一种间接层。这种模式的主要目的是控制客户端对目标对象的访问,并且可以在不修改原有...
在IT行业中,代理模式是一种常见的设计模式,它允许我们在不修改原有对象的基础上,为对象添加新的功能或控制访问。在本示例中,我们将重点讨论如何在Java环境下使用代理模式来实现代理逻辑,特别是在CAS(Central ...
#### 二、虚拟代理模式概述 虚拟代理模式是一种特殊的代理模式,主要目的是延迟昂贵对象的创建时间,以减少对系统资源的消耗。该模式适用于那些创建成本较高或者处理过程较为复杂的情况,例如大型图像处理、大数据量...
二是使用JDK动态代理。另一种常见的方式是使用CGLIB库,它是在字节码级别创建代理对象,适用于无法实现接口的目标类。 **JDK动态代理**: JDK动态代理基于接口实现。首先,我们需要定义一个或多个接口,然后创建一...
Java Spring代理模式AOP-IOC分析 一、代理模式概述 在软件设计中,代理模式是一种常用的设计模式。它可以在不修改原始代码的情况下,扩展或修改原始对象的行为。代理模式可以分为静态代理和动态代理两种。静态代理...
Java代理模式是一种设计模式,它在面向对象编程中扮演着重要的角色,主要目的是为了在不修改原有对象的基础上,为对象添加额外的功能或者控制对对象的访问。代理模式的核心思想是通过代理类来间接调用目标类的方法,...
#### 二、代理模式分类 代理模式主要分为两大类:静态代理和动态代理。 1. **静态代理**: - **定义**:静态代理由程序员创建或特定工具自动生成源代码,随后编译产生的代理类。这种代理类是提前定义好的,也就是...
动态代理模式是一种在运行时创建代理对象以控制或扩展原有对象行为的设计模式。它允许我们为现有的对象提供一种代理以增强其功能,而无需修改原对象的代码。动态代理模式通常用于实现对目标对象的额外操作,如日志...
适配器模式、装饰模式和代理模式 本文将详细介绍适配器模式、装饰模式和代理模式的概念、特点和应用场景,并通过实际的例子来阐述这三种模式的差异和相同点。 一、适配器模式 适配器模式是一种结构型设计模式,它...
本篇将深入探讨标题中提及的几种设计模式:Model-View-Controller(MVC)模式、单例模式、代理模式以及工厂模式,尤其是简单工厂模式。 **1. Model-View-Controller (MVC) 模式** MVC模式是一种架构模式,它将应用...
在IT行业中,代理模式是一种设计模式,它在对象交互中起到中介的作用,允许我们通过代理对象来间接调用目标对象,从而实现某些特殊的目的。在本讲中,我们将深入探讨代理模式的核心概念、应用场景以及其实现方式。 ...
#### 二、代理模式的应用场景 代理模式的应用非常广泛,主要可以解决以下几种问题: 1. **远程代理**:当目标对象位于不同的地址空间时,可以通过代理模式进行封装,使得客户端感觉是在本地操作一样。 2. **虚拟...
Java 动态代理详解(代理模式+静态代理+JDK动态代理+CGLIB动态代理) Java 动态代理是 Java 编程语言中的一种强大工具,广泛应用于 Spring AOP、Hibernate 数据查询、测试框架的后端 mock、RPC 远程调用、Java 注解...
Spring框架中的代理模式是其核心特性之一,它在AOP(面向切面编程)中扮演着重要角色。本文将深入探讨Spring代理模式的工作原理,并通过实际示例来帮助理解。 一、Spring代理模式概述 代理模式是一种设计模式,它...
#### 二、代理模式 ##### 1. 代理模式定义 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。这种方式可以在客户端和目标对象之间建立一个间接层,通过该层可以添加额外的功能,如权限检查...
Java Spring 代理模式 AOP-IOC 结合 从给定的文件信息中,我们可以总结出以下知识点: 一、为什么需要代理模式 在软件开发中,我们经常会遇到一些非功能性需求,如日志记录、身份验证、性能监控等,这些需求会...
#### 二、代理模式解决的问题 代理模式主要用于解决以下问题: 1. **控制对目标对象的访问**:代理对象可以检查请求的有效性,决定是否允许客户端访问目标对象。 2. **远程代理**:为远程对象提供本地代理,使得...