Design pattern Start--responsibility chain mode

Source: Internet
Author: User

The pattern of the responsibility chain

First, the role

Multiple objects have the opportunity to process the request, avoiding the coupling between the sender and the recipient of the request, connecting the object to a chain, and passing the request along the chain until an object can handle it

Second, class diagram

Third, the realization

(1) Definition handle

 Public Abstract classHandle {protectedHandle successor;  Public voidSetseccessor (Handle successor) { This. successor =successor; }     Public Abstract voidHandleRequest (intrequest);} Public classConcretehandleoneextendsHandle {@Override Public voidHandleRequest (intrequest) {        if(Request >= 0 && Request < 10) {System.out.println ("One processing request" +request); }        Else if(Successor! =NULL) {successor.handlerequest (request); }    }} Public classConcretehandletwoextendsHandle {@Override Public voidHandleRequest (intrequest) {        if(Request >= && Request < 20) {System.out.println ("Processing Request" +request); }        Else if(Successor! =NULL) {successor.handlerequest (request); }    }} Public classConcretehandlethreeextendsHandle {@Override Public voidHandleRequest (intrequest) {        if(Request > 20) {System.out.println ("Three processing request" +request); }        Else if(Successor! =NULL) {successor.handlerequest (request); }    }}
View Code

(2) Client Test class

 public  class   Client { public  static  void   main (string[] args) {Handle        H1  = new   Concretehandleone ();        Handle H2  =  Concretehandletwo ();        Handle h3  =  Concretehandlethree ();        H1.successor  = H2;        H2.successor  = H3;         int  request = 14
View Code

Design pattern Start--responsibility chain mode

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.