静态代理设计模式|学习笔记

简介: 快速学习 静态代理设计模式

开发者学堂课程【Java 高级编程:静态代理设计模式】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/20/detail/393


静态代理设计模式


简介:

1、具体内容:

2、传统代理设计模式的弊端

 

 

具体内容:

代理设计模式是在程序开发之中使用最多的设计模式,代理设计模式的核心是有真实业务实现类与代理业务实现类,并且代理类要完成比真实业务更多的处理操作。

 

传统代理设计模式的弊端:

所有的代理设计模式如果按照设计要求来讲,必须是基于接口的设计,也就是说需要首先定义出核心接口的组成,下面模拟一个消息发送的代理操作结构。

 

范例:传统代理设计

package cn.mldn.demo;

interface IMessage il/传统代理设计必须有接口

public void send() ; l/业务方法

}

class MessageReal implements IMessage {

@override

public void send() i

system.out.println("【发送消息】www.mldn.cn" );

class MessageProxy implements IMessage {//代理类

private IMessage mes.sage ; //代理对象,一定是业务接口实例

public MessageProxy ( IMessage message){

this.message = message ;

}

@override

public void send( ) {

//TODO Auto-generated method stub

}

}

public class avaAPIDemo {

public static void main(String[] args ) throws Exception {

图片16.png

以上的操作代码是一个最为标准的代理设计,但是如果要进一步的去思考会发现客户端的接口与具体的子类产生的耦合问题,所以这样的操作如果从实际的开发来讲最好再引入工厂设计模式进行代理对象的获取。

 

以上的代理设计模式为静态代理设计,这种静态代理设计的特点在于:一个代理类只为一个接口服务,那么如果说现在准备出了 3000 个业务接口,则按照此种做法就意味着需要编写 3000 个代理类,并且这 3000 个代理类的操作形式类似。

所以现在需要解决的问题在于:如何可以让一个代理类满足于所有的业务接口。

相关文章
|
5月前
|
设计模式 XML JSON
二十三种设计模式全面解析-代理模式进阶篇:揭秘远程代理
二十三种设计模式全面解析-代理模式进阶篇:揭秘远程代理
129 0
|
12月前
|
设计模式 存储 Java
【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
80 0
|
12月前
|
设计模式 存储 Java
【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——迭代器模式Iterator(原理讲解+应用场景介绍+案例介绍+Java代码实现)
40 0
|
12月前
|
设计模式 存储 Java
【设计模式——学习笔记】23种设计模式——享元模式Flyweight(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——享元模式Flyweight(原理讲解+应用场景介绍+案例介绍+Java代码实现)
56 0
|
3月前
|
设计模式 Java
Head First设计模式学习笔记
Head First设计模式学习笔记
|
12月前
|
设计模式 Java 数据库连接
【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)
92 0
|
5月前
|
设计模式 缓存 安全
设计模式-代理模式(静态代理、动态代理、cglib代理)、代理模式和装饰者模式的区别
设计模式-代理模式(静态代理、动态代理、cglib代理)、代理模式和装饰者模式的区别
|
5月前
|
设计模式
装饰者设计模式(二)番外篇 装饰者设计模式和静态代理设计模式区别
装饰者设计模式(二)番外篇 装饰者设计模式和静态代理设计模式区别
|
12月前
|
设计模式 Java 容器
【设计模式——学习笔记】23种设计模式——组合模式Composite(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——组合模式Composite(原理讲解+应用场景介绍+案例介绍+Java代码实现)
91 0
【设计模式——学习笔记】23种设计模式——组合模式Composite(原理讲解+应用场景介绍+案例介绍+Java代码实现)
|
11月前
|
设计模式 Java
设计模式之代理模式(静态&动态)代理
二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来——解耦。调用目标方法时先调用代理对象的方法,减少对目标方法的调用和打扰,同时让附加功能能够集中在一起也有利于统一维护。
43 0