iluwatar / java-design-patterns

Design patterns implemented in Java
https://java-design-patterns.com
Other
89.54k stars 26.47k forks source link

Application Controller pattern #346

Open iluwatar opened 8 years ago

iluwatar commented 8 years ago

Description: The Application Controller design pattern centralizes the request handling by routing incoming requests to appropriate handlers. This pattern is particularly useful for applications with complex request processing logic, as it decouples the request handling from the request processing, promoting modularity and ease of maintenance. Key elements of this pattern include:

  1. Application Controller: A central controller that handles incoming requests and delegates them to appropriate handlers.
  2. Handlers: Specific components or services that perform the business logic associated with a request.
  3. Request: Represents the client request to be processed.
  4. Response: Represents the outcome of the request processing, which is sent back to the client.
  5. Command: Encapsulates a request as an object, thereby decoupling the sender of a request from its receiver.

References:

Acceptance Criteria:

  1. Implement the Application Controller class that can route incoming requests to appropriate handlers.
  2. Create at least two handler classes demonstrating different business logic processes.
  3. Ensure comprehensive unit tests are written to validate the functionality of the Application Controller and handlers.
Daniel-Dos commented 7 years ago

I found it here a reference of implementation :
http://www.corej2eepatterns.com/ApplicationController.htm

Meccota commented 4 years ago

@iluwatar Is this issue free to take? I'd like to work on this

iluwatar commented 4 years ago

@Meccota yes, go ahead

iluwatar commented 4 years ago

@Meccota are you still working on this?

ghost commented 2 years ago

We would like to give a shot at this in October/November. Could you assign it to me? Thank you!

iluwatar commented 2 years ago

Go ahead @yixingz3

iluwatar commented 2 years ago

@yixingz3 are you working on this? If not, I'll review the pull request made by @dctrue2

ghost commented 2 years ago

@yixingz3 are you working on this? If not, I'll review the pull request made by @dctrue2

Please feel free to. We are working as a team and I’ve been working on the SLOB issue (#1596).

iluwatar commented 4 months ago

Updated task description