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)
## 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.
@@ -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'
```
## 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
* 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.
Sequence diagram
![Service Locator sequence diagram](./etc/service-locator-sequence-diagram.png)
## 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.
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.
Sequence diagram
![Service Stub sequence diagram](./etc/service-stub-sequence-diagram.png)
## Programmatic Example of Service Stub Pattern in Java
We define a `SentimentAnalysisService` interface and provide two implementations:
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB