设计模式一静态代理模式

概述

  间接地访问该对象,从而限制、增强或修改该对象的一些特性。

       代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。

静态代理

  是由程序员创建或特定工具自动生成源代码,在对其编译。

  在程序员运行之前,代理类.class文件就已经被创建了。

动态代理

  是在程序运行时通过反射机制动态创建的。

静态代理总结:

优点:可以做到在符合开闭原则的情况下对目标对象进行功能扩展。

缺点:我们得为每一个服务都得创建代理类,工作量太大,不易管理。

   同时接口一旦发生改变,代理类也得相应修改。         

 1 public class ProxyDemo {
 2     public static void main(String[] args) {
 3         new proxy().myshop();
 4     }
 5 }
 6 
 7 interface a {
 8     void shopping();
 9 }
10 
11 class b implements a {
12 
13     @Override
14     public void shopping() {
15         System.out.println("买零食");
16     }
17 }
18 
19 class proxy {
20     private a a = new b();
21 
22     public void myshop() {
23         before();
24         a.shopping();
25         after();
26     }
27 
28     private void before() {
29         System.out.println("拿钱");
30     }
31 
32     private void after() {
33         System.out.println("回家啊");
34     }
35 }

转载于:https://www.cnblogs.com/loveer/p/11279834.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值