This is the Chain of responsibility pattern with the dynamic handler. With this, we can assign a dynamic handler for the request without touching the main handler.
|The following is the image shows the list of projects I have used in the demo project.
1. PatternTest –> is the actual client which will use the design pattern
2. Core –> is the Main project which will have the default implementation
3. AddOn –> this is the first add-on which will extend the core functionality like that we have AddOnTwo and AddOnThree project.
In this Project, we have two important files ManageHandlers.cs and Handler.xml. These two files provide the dynamic behavior.
In this Project, we have the main business logic. It will deal with the required logic for default implementation for all the possible scenario.
|3. AddOn One, Two and Three
These projects deal with the specific scenario. These will extend the core functionality and provide the additional functionality. The execution of these add-ons will be controlled by the Core module itself using the Handler.xml file.Link to the Sample Project is here Download