代理模式所涉及的角色有:
抽象主题角色:声明了真实主题与代理主题的共同接口(共有的特性)
代理主题角色:含有对真实主题角色的引用(操作真实主体对象),代理角色通常在将客户端调用传递给真实主题对象的之前或者之后都会执行某些操作(方法),而不是只单纯的返回真实的对象。
真实主题角色:定义了代理角色所代表的真实对象。
//抽象的主题角色
abstract class SaleComputer{
abstract public void SaleComputer();
}
//真实的主题角色(ComputerMaker)
class ComputerMaker extends SaleComputer{
public void SaleComputer(){
System.out.println("卖出了一台电脑。。。");
}
}
//代理的主题角色(ComputerProxy)
class ComputerProxy extends SaleComputer{
ComputerMaker cm=null;
public void youHui(){
System.out.println("我给你优惠....");
}
public void giveMouse(){
System.out.println("我还送你一个鼠标。。。");
}
public void SaleComputer(){
youHui();
giveMouse();
if(cm==null){
cm=new ComputerMaker();
}
cm.SaleComputer();
}
}
public class ProxyDemo {
public static void main(String[] args) {
//SaleComputer sc=new ComputerMaker();
SaleComputer sc=new ComputerProxy();
sc.SaleComputer();
}
}
分享到:
相关推荐
代理模式是一种设计模式,它是结构型模式之一,主要用于在客户端和目标对象之间建立一个代理对象,以便控制对目标对象的访问。在C++中,代理模式可以用来为其他对象提供一种代理以控制对这个对象的访问,或者增加...
在这个"代理模式的使用示例程序"中,我们可以通过分析"interceptor"类,学习如何实现和应用代理模式,包括如何设置拦截逻辑,以及如何通过代理对象透明地控制和增强原始对象的行为。这对于我们理解和提升面向对象...
通过学习和实践代理模式,开发者可以更好地理解和掌握面向对象设计原则,如单一职责原则和开闭原则,同时也能提高代码的复用性和可测试性。在Java世界里,设计模式是连接理论和实践的重要桥梁,是每个专业开发者必备...
**Java设计模式——代理模式详解** 代理模式是软件设计模式中的一个重要组成部分,它在Java编程中扮演着举足轻重的角色。代理模式的核心思想是为一个对象提供一个替身,这个替身即代理对象,代理对象可以控制对原...
SignalR提供了两种主要的工作模式:代理模式和非代理模式。这两种模式在实现上有所不同,各自具有优缺点,适用于不同的场景。 **1. 代理模式(Proxy Mode)** 在代理模式下,SignalR为每个Hub(服务端的业务逻辑...
代理模式是一种常用的设计模式,它在软件开发中起到了中介或者代表的作用。代理模式的主要目的是为其他对象提供一种代理以...在学习代理模式时,可以尝试编写不同类型的代理,并在实际项目中寻找应用实例,以加深理解。
设计模式代理模式PPT学习教案 本PPT学习教案主要讲解设计模式中的代理模式,通过示例代码和图表,详细介绍了代理模式的定义、结构、实现和应用场景。 知识点1:代理模式的定义 代理模式(Proxy Pattern)是一种...
在Java编程中,代理模式是一种常用的面向对象设计模式,它允许我们为一个对象提供一个代理以控制...通过学习和实践这些例子,你可以深入理解这三种代理模式的实现细节和应用场景,从而更好地在实际项目中应用代理模式。
通过查看代码,我们可以更深入地学习如何在实际项目中运用代理模式。然而,由于没有具体的代码内容,这里无法提供详细的代码解析。如果你能提供代码示例,我可以帮助你深入解析其工作原理和实现细节。
在IT行业中,代理模式是一种常见的设计模式,它允许我们在不修改原有对象的基础上,为对象添加新的功能或控制访问。...通过学习这个示例,我们可以更好地理解和应用代理模式,提升代码的可扩展性和安全性。
本资料包包含的是四种重要的设计模式:抽象模式、工厂模式、代理模式和单例模式。 1. 抽象模式: 抽象模式是通过定义抽象类或接口来封装一系列具有相似行为的对象。在面向对象编程中,抽象类通常不被实例化,而是...
通过这个实例,我们可以学习到如何在C#中有效地使用代理模式来增强系统的灵活性和可维护性。代理模式不仅可以提供额外的安全性,还可以用来实现负载均衡、事务管理等功能,是软件设计中一个非常实用的工具。理解并...
在软件设计模式的世界里,"简单工厂模式"、"代理模式"和"策略模式"都是经典的设计模式,它们各自有着独特的应用场景和优缺点。本文将深入解析这三种模式的原理和区别,帮助读者理解它们在实际开发中的运用。 首先,...
代理模式是一种设计模式,它是结构型模式的一种,主要用于在对象之间提供一个代理以控制对原对象的访问。在这个实例中,我们看到的是如何通过代理...通过学习和实践这个实例,你可以更好地掌握代理模式的原理和应用。
2. **代理模式**:代理模式也属于创建型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。在代理模式中,代理类作为真实对象的代表,可以在客户端和目标对象之间起到中介作用,例如,可以添加额外的功能...
设计模式之代理模式 代理模式是结构型设计模式之一,它提供了一个对象的代理对象,以控制对原对象的访问。代理对象可以在客户端和目标对象之间起到中介的作用,可以通过代理对象去掉客户不能看到的内容和服务或者...
代理模式是一种设计模式,它允许我们在不修改原有对象的情况下,为对象添加新的功能或行为。在Java中,代理模式有静态代理和动态代理两种实现方式。本篇将重点讨论"动态代理",这是一种在运行时创建代理对象的技术,...
通过这个Demo,我们可以学习如何在实际项目中灵活运用代理模式,提升代码的灵活性和可维护性。 总的来说,代理模式是一种强大的设计模式,它可以让我们在不修改原有对象的前提下,增加新的功能或控制对象的访问,...