Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
[![Java CI with Maven](https://github.com/Janaka2/DesignPatterns/actions/workflows/maven.yml/badge.svg)](https://github.com/Janaka2/DesignPatterns/actions/workflows/maven.yml)

# Java Design Patterns & Architecture Playground
<h1 align="center">Java Design Patterns &amp; Architecture Playground</h1>

A practical Java **design-pattern playbook** for real business engineering decisions.
<p align="center">
<em>A practical Java <strong>design-pattern playbook</strong> for real business engineering decisions.</em>
</p>

This repository is built to answer one question quickly:
**"Given this business situation, which pattern should I choose, and why?"**
Expand All @@ -12,6 +14,16 @@ It is optimized for learning by reading and by running tests:
- JUnit tests that demonstrate behavior,
- package structure that mirrors design concepts.

## Quick navigation

- [Start here (recommended reading flow)](#start-here-recommended-reading-flow)
- [Quick pattern-selection playbook](#quick-pattern-selection-playbook)
- [What is included](#what-is-included)
- [Phase roadmap](#phase-roadmap)
- [Pattern index matrix](#pattern-index-matrix)
- [Documentation UX quick links](#documentation-ux-quick-links)
- [Project structure](#project-structure)

## Start here (recommended reading flow)

1. **Pattern index matrix** (below)
Expand Down Expand Up @@ -158,6 +170,11 @@ Package: `src/main/java/org/example/ai`

## Pattern index matrix

<details>
<summary><strong>Expand/collapse full matrix</strong></summary>

<br />

| Pattern | Intent | When to use | Trade-offs | Real-world example | Test class |
|---|---|---|---|---|---|
| Singleton | Ensure one shared instance | Shared in-memory config/cache objects | Harder testing, hidden global state risk | Application configuration registry | `SingletonTest`, `SingletonModernPackageTest` |
Expand Down Expand Up @@ -214,6 +231,8 @@ Package: `src/main/java/org/example/ai`

---

</details>


## Documentation UX quick links

Expand Down
Loading