• 设计模式一静态代理模式


    概述

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

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

    静态代理

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

      在程序员运行之前,代理类.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 }
  • 相关阅读:
    口袋摸球
    后渗透(四)数据包捕获
    后渗透(二)权限提升
    文件上传11-21
    MySQL之UDF提权
    《白帽子讲Web安全》读书笔记(一)
    XSS盲打获取cookies&&XSS钓鱼&&XSS键盘记录
    nginx目录穿越漏洞复现&&nginx目录遍历漏洞复现
    python教程(一)·简介
    DataPipeline如何实现数据质量管理?
  • 原文地址:https://www.cnblogs.com/loveer/p/11279834.html
Copyright © 2020-2023  润新知