静态代理1

本文通过模拟银行办卡和销卡业务流程,详细解释了代理模式在实际编程中的运用。通过创建银行接口和实现该接口的普通人员与银行办卡人员两个类,展示了如何利用代理模式简化客户与银行之间的交互过程。

一个故事开始:
我们去银行办理 银行卡:
我们不可能自己直接办理,我们要找工作人员帮我们办理,这个工作人员 我—>办理人员---->银行出银行卡
办理人员就称为 代码:
银行(一个接口) 的代码: 银行有的功能 办理银行卡 和注销银行卡片
代码:

interface Bank {
    public void payCard();//办卡
    public void cancleCard();//注销卡片
}

要办卡的人员 实现银行的接口

/**
 * 普通人员
 */
public class Man implements Bank {
    @Override
    public void payCard() {

        System.out.println("办输入一些卡的密码");
    }

    @Override
    public void cancleCard() {
        System.out.println("办输入一些卡的密码");
        System.out.println("要提供身份证原件");

    }
}

银行的办卡人员(代理类)实现银行接口

/**
 * 银行的办卡人员
 */
public class SaleMan implements Bank {

    Bank bank;

    public SaleMan(Bank bank) { //因为我们虽然使用代理但是 也有有一部是需要自己操作的
        this.bank = bank;
    }

    @Override
    public void payCard() {
        System.out.println("处理一些基本业务");
        bank.payCard();
        System.out.println("办卡完毕");

    }

    @Override
    public void cancleCard() {
        System.out.println("处理一些基本业务");
        bank.cancleCard();
        System.out.println("办卡完毕");
    }
}

测试:

public class Main {

    public static void main(String[] args) {
	// write your code here
        Man man = new Man();
        SaleMan saleMan = new SaleMan(man); //代理办卡人员
        //代理人员帮我们办卡
        saleMan.payCard();
        System.out.println("=============================================");
        //代理人员帮我们注销银行卡
        saleMan.cancleCard();

    }
}

输出:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值