• 设计模式-行为型模式-责任链模式


    使用多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

    1. /**
    2. * 责任链模式
    3. * 类型:行为型
    4. * 描述:使用多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
    5. */
    6. public class ConcreteMode {
    7. // 具体处理者
    8. static class ConcreteHandler extends Handler {
    9. public ConcreteHandler(String name)
    10. {
    11. super(name);
    12. }
    13. public void handleRequest(Request request)
    14. {
    15. System.out.println(this.name + "处理了:" + request.getName());
    16. }
    17. }
    18. // 请求
    19. static class Request {
    20. private String name;
    21. public Request(String name)
    22. {
    23. this.name = name;
    24. }
    25. public String getName()
    26. {
    27. return name;
    28. }
    29. }
    30. // 处理者
    31. static abstract class Handler {
    32. private Handler nextHandler;
    33. String name;
    34. public Handler(String name)
    35. {
    36. this.name = name;
    37. }
    38. public void setNextHandler(Handler nextHandler)
    39. {
    40. this.nextHandler = nextHandler;
    41. }
    42. public void handleRequest(Request request)
    43. {
    44. if (this.nextHandler != null)
    45. {
    46. this.nextHandler.handleRequest(request);
    47. }
    48. }
    49. }
    50. // 客户端
    51. public static void main(String[] args)
    52. {
    53. // 创建请求
    54. Request request = new Request("小明");
    55. // 创建处理者
    56. Handler handler1 = new ConcreteHandler("张三");
    57. Handler handler2 = new ConcreteHandler("李四");
    58. Handler handler3 = new ConcreteHandler("王五");
    59. // 设置处理者链
    60. handler1.setNextHandler(handler2);
    61. handler2.setNextHandler(handler3);
    62. // 处理请求
    63. handler1.handleRequest(request);
    64. }
    65. }

  • 相关阅读:
    列生成算法
    Android面试题——高级开发面试题二
    【R语言数据科学】:变量选择(三)主成分回归和偏最小二乘回归
    c++获取当前时间的字符串
    Freeswitch中CHANNEL_HOLD保持事件
    2024年山东高企申报注意事项
    dubbo + nacos
    【学习笔记】CF1817F Entangled Substrings(基本子串结构)
    python基础知识总结
    计算机毕业设计(附源码)python智慧灭火器管理系统
  • 原文地址:https://blog.csdn.net/weixin_45448080/article/details/138190493