本文实例讲述了Java经典设计模式之责任链模式。分享给大家供大家参考,具体如下:责任链模式:多个对象由其对象对应下家的引用连成一条链,请求在这个链上传递,直到链上的某一个接收对象处理此请求。因为请求的客户端并不知道链上最终是谁来处理这个请求
本文实例讲述了Java经典设计模式之责任链模式。分享给大家供大家参考,具体如下:
责任链模式:多个对象由其对象对应下家的引用连成一条链,请求在这个链上传递,直到链上的某一个接收对象处理此请求。因为请求的客户端并不知道链上最终是谁来处理这个请求,使得系统可以在不影响客户端的情况下动态地重新组织和分配责任,从而避免了请求发送者与请求处理者之间的耦合。
责任链械中涉及到三种角色:
1,抽象处理者角色
2,具体处理者角色
3,请求发送者
小例子:假设去买房子,买房子就需要砍价, 卖房的人职位不同,可以优惠的价格也不同,不同职位就可以形成一个处理请求的链。我们暂定: * 基层销售员,只能优惠3% * 销售经理:可以优惠5% * 销售总监:可以优惠8% * 老板(Boss):优惠10%
直接上代码:
public abstract class RoomRateHandler {protected RoomRateHandler mHandler;//直接由子类继承,用于传递请求public void setPriceHandler(RoomRateHandler mHandler){this.mHandler=mHandler;}//处理具体问题:处理价格请求public abstract void handlePriceRequest(float discount);public static RoomRateHandler cretateHandler(){RoomRateHandler salesMan=new SalesMan();RoomRateHandler salesManager=new SalesManager();RoomRateHandler saleDirector=new SalesDirector();RoomRateHandler topManager=new TopManager();salesMan.setPriceHandler(salesManager);salesManager.setPriceHandler(saleDirector);saleDirector.setPriceHandler(topManager);return salesMan;}}
--结束END--
本文标题: Java经典设计模式之责任链模式原理与用法详解
本文链接: https://www.lsjlt.com/news/224400.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
2024-05-11
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0