Java 设计模式 -- 职责链模式

本文通过一个呼叫中心的例子,详细解释了Java中的职责链模式。员工分为接线员、主管和经理,根据问题等级处理来电。通过创建Call、Caller和Employee类,实现了问题的传递和处理。员工类中,如果无法处理问题则将其传递给上级,直至问题得到解决。职责链模式在异常处理和触摸事件传递等场景中也有广泛应用。
摘要由CSDN通过智能技术生成

下面,将通过一个例子,对职责链模式进行介绍。

问题:设想,你有一个呼叫中心,员工分成三个层级,接线员,主管和经理。客户来电时会先分配给接线员,若接线员处理不了,就必须将来电往上转给主管,若主管无法处理,将来电往上转给经理。请设计这个问题的类和数据结构(为了方便,将呼叫者的问题分等级,分别为 S 级,由接线员处理,SS 级,由主管处理,SSS级,由经理处理)。


首先,分析一下这个问题,对于一次电话呼叫,肯定存在 呼叫人和被呼叫人,所以我们可能需要设计一个 Call 类来表示一个电话呼叫,一个 Caller 类用于封装呼叫人的属性,Employee 类用于表示接听人,因为员工分三种,所以我们需要将 Employee 定义为一个抽象类,用于封装员工的共同属性。既然各个类模型已经想好了,那么就要想想如何设计方法呢?也就是如何实现电话的传递呢?想想 Java 中是如何模仿指针效果的?下面来看看实现

public class Caller {

    private String mName;
    private String mRank;

    public Caller(String rank) {
        this.mRank = rank;
    }

    public String getName() {
        return mName;
    }

    public void setName(String name) {
        this.mName = name;
    }

    public String getRank() {
        retur
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值