diff --git a/service-to-worker/README.md b/service-to-worker/README.md index fb234342c..0c1c7bd4b 100644 --- a/service-to-worker/README.md +++ b/service-to-worker/README.md @@ -26,6 +26,10 @@ In plain words > Separates the processing logic from the view in web applications to improve maintainability and scalability. +Sequence diagram + +![Service to Worker sequence diagram](./etc/service-to-worker-sequence-diagram.png) + ## Programmatic Example of Service to Worker Pattern in Java The Service to Worker design pattern separates the processing logic from the view in web applications to improve maintainability and scalability. It combines the Dispatcher View and Service Locator patterns to facilitate the separation of processing, control flow, and view management in web applications. diff --git a/service-to-worker/etc/service-to-worker-sequence-diagram.png b/service-to-worker/etc/service-to-worker-sequence-diagram.png new file mode 100644 index 000000000..e33a04be8 Binary files /dev/null and b/service-to-worker/etc/service-to-worker-sequence-diagram.png differ diff --git a/session-facade/README.md b/session-facade/README.md index 20a093334..2709e9fc6 100644 --- a/session-facade/README.md +++ b/session-facade/README.md @@ -34,6 +34,10 @@ In plain words > The Session Facade design pattern is an excellent choice for decoupling complex components of the system that need to be interacting frequently. +Sequence diagram + +![Session Facade sequence diagram](./etc/session-facade-sequence-diagram.png) + ## Programmatic Example of Session Facade Pattern in Java The Session Facade design pattern is a structural design pattern that provides a simplified interface to a set of complex subsystems, reducing the complexity for the client. This pattern is particularly useful in situations where the client needs to interact with multiple services or systems but doesn’t need to know the internal workings of each service. diff --git a/session-facade/etc/session-facade-sequence-diagram.png b/session-facade/etc/session-facade-sequence-diagram.png new file mode 100644 index 000000000..b70d461ce Binary files /dev/null and b/session-facade/etc/session-facade-sequence-diagram.png differ diff --git a/sharding/README.md b/sharding/README.md index fef24abee..19915038d 100644 --- a/sharding/README.md +++ b/sharding/README.md @@ -35,6 +35,10 @@ Wikipedia says > > There are numerous advantages to the horizontal partitioning approach. Since the tables are divided and distributed into multiple servers, the total number of rows in each table in each database is reduced. This reduces index size, which generally improves search performance. A database shard can be placed on separate hardware, and multiple shards can be placed on multiple machines. This enables a distribution of the database over a large number of machines, greatly improving performance. In addition, if the database shard is based on some real-world segmentation of the data (e.g., European customers v. American customers) then it may be possible to infer the appropriate shard membership easily and automatically, and query only the relevant shard. +Flowchart + +![Sharding flowchart](./etc/sharding-flowchart.png) + ## Programmatic Example of Sharding Pattern in Java Sharding is a type of database partitioning that separates very large databases into smaller, faster, more easily managed parts called data shards. The word shard means a small part of a whole. In software architecture, it refers to a horizontal partition in a database or search engine. Each individual partition is referred to as a shard or database shard. diff --git a/sharding/etc/sharding-flowchart.png b/sharding/etc/sharding-flowchart.png new file mode 100644 index 000000000..c43f100b3 Binary files /dev/null and b/sharding/etc/sharding-flowchart.png differ