docs: service locator and service stub diagrams

This commit is contained in:
Ilkka Seppälä
2025-04-10 20:35:28 +03:00
parent b8f38691f3
commit 73a582867a
5 changed files with 8 additions and 5 deletions
-5
View File
@@ -40,7 +40,6 @@ Architecture diagram
![Service Layer Architecture Diagram](./etc/service-layer-architecture-diagram.png) ![Service Layer Architecture Diagram](./etc/service-layer-architecture-diagram.png)
## Programmatic Example of Service Layer Pattern in Java ## Programmatic Example of Service Layer Pattern in Java
Our Java implementation uses the Service Layer pattern to streamline interactions between data access objects (DAOs) and the business logic, ensuring a clean separation of concerns. Our Java implementation uses the Service Layer pattern to streamline interactions between data access objects (DAOs) and the business logic, ensuring a clean separation of concerns.
@@ -358,10 +357,6 @@ INFO [2024-05-27 09:16:40,681] com.iluwatar.servicelayer.app.App: Find wizards
INFO [2024-05-27 09:16:40,683] com.iluwatar.servicelayer.app.App: Aderlard Boud has 'Fireball' INFO [2024-05-27 09:16:40,683] com.iluwatar.servicelayer.app.App: Aderlard Boud has 'Fireball'
``` ```
## Detailed Explanation of Service Layer Pattern with Real-World Examples
![Service Layer](./etc/service-layer.png "Service Layer")
## When to Use the Service Layer Pattern in Java ## When to Use the Service Layer Pattern in Java
* Use when you need to separate business logic from presentation logic. * Use when you need to separate business logic from presentation logic.
+4
View File
@@ -33,6 +33,10 @@ Wikipedia says
> The service locator pattern is a design pattern used in software development to encapsulate the processes involved in obtaining a service with a strong abstraction layer. This pattern uses a central registry known as the "service locator", which on request returns the information necessary to perform a certain task. Proponents of the pattern say the approach simplifies component-based applications where all dependencies are cleanly listed at the beginning of the whole application design, consequently making traditional dependency injection a more complex way of connecting objects. Critics of the pattern argue that it is an antipattern which obscures dependencies and makes software harder to test. > The service locator pattern is a design pattern used in software development to encapsulate the processes involved in obtaining a service with a strong abstraction layer. This pattern uses a central registry known as the "service locator", which on request returns the information necessary to perform a certain task. Proponents of the pattern say the approach simplifies component-based applications where all dependencies are cleanly listed at the beginning of the whole application design, consequently making traditional dependency injection a more complex way of connecting objects. Critics of the pattern argue that it is an antipattern which obscures dependencies and makes software harder to test.
Sequence diagram
![Service Locator sequence diagram](./etc/service-locator-sequence-diagram.png)
## Programmatic Example of Service Locator Pattern in Java ## Programmatic Example of Service Locator Pattern in Java
The Service Locator design pattern is used to abstract the processes involved in obtaining a service. It uses a central registry, the "service locator", which returns the necessary information to perform a task upon request. This Java design pattern is particularly useful in enterprise Java applications where services need centralized management. The Service Locator design pattern is used to abstract the processes involved in obtaining a service. It uses a central registry, the "service locator", which returns the necessary information to perform a task upon request. This Java design pattern is particularly useful in enterprise Java applications where services need centralized management.
Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

+4
View File
@@ -34,6 +34,10 @@ Wikipedia says
> A test stub is a dummy component used during testing to isolate behavior. > A test stub is a dummy component used during testing to isolate behavior.
Sequence diagram
![Service Stub sequence diagram](./etc/service-stub-sequence-diagram.png)
## Programmatic Example of Service Stub Pattern in Java ## Programmatic Example of Service Stub Pattern in Java
We define a `SentimentAnalysisService` interface and provide two implementations: We define a `SentimentAnalysisService` interface and provide two implementations:
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB