设计模式-静态代理

Posted xiaofei001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-静态代理相关的知识,希望对你有一定的参考价值。

1.静态代理实现要求

  1. 有真实的角色
  2. 有代理的对象
  3. 真实角色和代理对象实现同一个代理接口

2.静态代理事例

MarrayContent代理MarryPerson,MarryPerson只关注结婚其他事情都交给MarrayContent代理对象去做


public class StaticProxy {
   public static void main(String args[]){
       MarryPerson person = new MarryPerson();
       Marray content = new MarrayContent(person);
       content.marray();
   }
}

//代理接口
interface Marray{
    void marray();
}
//真实角色
class MarryPerson implements Marray{
    @Override
    public void marray() {
        System.err.println("结婚");
    }
}
//代理对象
class MarrayContent implements Marray{
    private MarryPerson marryPerson;
    public MarrayContent(MarryPerson marryPerson){
        this.marryPerson =marryPerson;
    }
    private void searchTarget(){
        System.err.println("寻找合适对象!");
    }

    private void detail(){
        System.err.println("婚后处理!");
    }
    @Override
    public void marray() {
        searchTarget();
        marryPerson.marray();
        detail();
    }
}

以上是关于设计模式-静态代理的主要内容,如果未能解决你的问题,请参考以下文章

代理模式之静态代理实现代码

设计模式代理模式 ( 静态代理 )

Spring之代理模式

静态代理模式代码演示

[设计模式]静态代理

设计模式—静态代理模式(聚合与继承方式比较)