<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/design-patterns/best-of/2025" -->

---
title: Best Design Patterns posts of 2025 | daily.dev
description: The most upvoted Design Patterns posts of 2025, curated by the daily.dev community.
canonical: https://daily.dev/tags/design-patterns/best-of/2025
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/design-patterns/best-of/2025
og:type: website
og:site_name: daily.dev
og:title: Best Design Patterns posts of 2025 | daily.dev
og:description: The most upvoted Design Patterns posts of 2025, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Design Patterns — 2025

1. 1  
[](/posts/you-re-not-building-netflix-stop-coding-like-you-are-fvaumfnpy "You're Not Building Netflix: Stop Coding Like You Are")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 45w  
You're Not Building Netflix: Stop Coding Like You Are  
Over-engineering is a common trap for intermediate developers who apply enterprise patterns and abstractions to simple problems. The article argues against premature abstraction, showing real examples of unnecessarily complex code that could be replaced with straightforward solutions. Key principles include: abstract only what changes frequently, wait for three use cases before creating abstractions, avoid interfaces with single implementations, and prioritize readability over architectural sophistication. Simple, boring code that solves actual problems scales better than over-architected solutions designed for hypothetical future requirements.  
673  
55
2. 2  
[](/posts/react-design-patterns-and-best-practices-for-2025-e1pcgry51 "React Design Patterns and Best Practices for 2025")  
Article  
![Avatar of telerik](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5ee6d4bef8ac4f84886d06f5881963e7)Telerik · 1y  
React Design Patterns and Best Practices for 2025  
Comprehensive guide covering modern React development patterns for 2025, including function components, custom hooks, Context API, TypeScript integration, and React 19 features like useOptimistic and Server Components. Explores ecosystem tools like Next.js, Remix, Vite, and Tailwind CSS, plus enterprise UI solutions like KendoReact for building scalable, maintainable applications.  
316  
3
3. 3  
[](/posts/how-do-you-write-code--rzbbkp64c "How do you write code?")  
Article  
![Avatar of codigee](https://media.daily.dev/image/upload/s--TsJFazpu--/f_auto/v1730269624/squads/1d14ffca-e73a-45f4-ac19-92a840dfeab8)Codigee · 1y  
How do you write code?  
217  
18
4. 4  
[](/posts/best-design-pattern-source-for-learning-k8vmlofy4 "Best Design Pattern source for Learning")  
Article  
![Avatar of laravelkids](https://media.daily.dev/image/upload/s---BwKrR31--/f_auto/v1735727609/squads/68d6bf5f-8f24-4a02-a429-2596d9df724e)Laravel Kids · 2y  
Best Design Pattern source for Learning  
Refactoring Guru provides comprehensive resources for learning design patterns in PHP. The site includes detailed explanations, examples, and practical advice for implementing various patterns in real-world projects. Ideal for anyone looking to enhance their software design skills.  
166  
10
5. 5  
[](/posts/the-heart-of-architecture-deconstructing-patterns-ygcc6pzev "The heart of architecture: deconstructing patterns")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
The heart of architecture: deconstructing patterns  
Explore the fundamental concepts of software architecture focusing on cohesion and decoupling. Learn about SOLID principles and how they influence design patterns, understand various Gang of Four patterns, and delve into architectural metapatterns for effective software design.  
162  
1
6. 6  
[](/posts/if-i-hear-design-pattern-one-more-time-i-ll-go-mad-qojiudlqa "If I hear "design pattern" one more time, I'll go mad")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 1y  
If I hear "design pattern" one more time, I'll go mad  
A critical examination of design patterns in software development, arguing that many patterns are overcomplicated names for simple programming concepts. The author contends that patterns like Command (which is just a function) and Strategy (which is just an interface) create unnecessary cognitive overhead and that developers naturally arrive at these solutions through iterative design without needing formal pattern terminology. The piece advocates for focusing on underlying principles rather than memorizing pattern names, suggesting that good architecture emerges from composing language features to solve problems rather than following prescribed patterns.  
143  
31
7. 7  
[](/posts/design-patterns-for-agentic-ai-6jp4wev5d "Design patterns for agentic AI")  
Article  
![Avatar of lightbend](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/lightbend)Lightbend · 1y  
Design patterns for agentic AI  
The era of agentic AI has begun, with intelligent agents increasingly handling tasks and making decisions autonomously, boosting productivity. This webinar explores how these AI systems, differing from traditional SaaS tools, are built using agentic design patterns. It covers why legacy architectures are inadequate and demonstrates how platforms like Akka enable building scalable, event-driven AI agents.  
122
8. 8  
[](/posts/remove-42-vs-find-42-remove--xxbdpofnf "remove(42) vs. find(42).remove()")  
Article  
![Avatar of yegor256](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/e403368e462f4ae184ab876bda3d013d)Yegor's Blog · 1y  
remove(42) vs. find(42).remove()  
Compares two approaches for removing objects from collections: direct removal methods versus retrieving the object first then calling remove. The retrieve-then-remove approach offers better object-oriented design through improved extensibility via decorators, more flexible error handling with null objects, and stronger encapsulation by keeping data wrapped within objects rather than exposing it as parameters.  
96  
9
9. 9  
[](/posts/ai-ready-frontend-architecture-dx9zbqpfc "AI-Ready Frontend Architecture")  
Article  
![Avatar of codemotion](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/008c4c0fe1ba4cd3b6a6740d442d242b)Codemotion · 1y  
AI-Ready Frontend Architecture  
Frontend architecture is evolving to accommodate AI tools that generate, parse, and interpret code. The approach involves creating AI guidelines files to establish conventions, using component-driven development with tools like V0.dev and shadcn/ui, implementing the Use Case pattern to decouple business logic from UI, and employing middleware chains for cross-cutting concerns like logging and error handling. This architecture enables both humans and AI agents to collaborate effectively while maintaining code quality, testability, and scalability.  
92
10. 10  
[](/posts/how-did-mvc-get-so-f-ed-up--5fzcbqftl "How did MVC get so F’ed up?")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 1y  
How did MVC get so F’ed up?  
The Model-View-Controller (MVC) pattern has been misunderstood and misimplemented over the years. The original Smalltalk MVC design keeps models completely unaware of views and controllers, using observer patterns for communication. Modern implementations, particularly Apple's Cocoa version, have corrupted this by making controllers act as intermediaries and creating tightly coupled view-controllers. True MVC requires observable models that can notify multiple views of changes, with the key insight being that models should never depend on their UI components. The pattern works as a composite where views can have their own models, and even function arguments should be treated as observable models to properly enable/disable UI elements.  
84  
7
11. 11  
[](/posts/welcome-to-the-state-machine-pattern-5itzjs3mx "Welcome to the State Machine Pattern")  
Article  
![Avatar of wendelladriel](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ea13d2ff9bdb49bdaaba2a599f528875)W endell Adriel · 1y  
Welcome to the State Machine Pattern  
State machines provide a structured approach to managing complex workflows by defining explicit states, events, and transition rules. This pattern replaces tangled if/else logic with predictable, testable behavior using PHP enums, guards for validation, and actions for side effects. The implementation includes domain events with an outbox pattern to keep decision logic pure while handling side effects reliably. Key benefits include improved clarity, safety from forbidden transitions, better testability, and enhanced observability through logging and documentation generation.  
84  
1
12. 12  
[](/posts/how-to-choose-the-best-programming-languages-libraries-and-patterns-mpqfr9vrh "How to Choose the Best Programming Languages, Libraries, and Patterns")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 1y  
How to Choose the Best Programming Languages, Libraries, and Patterns  
Programming decisions should be based on context and suitability rather than absolute rankings. The "Law of Suitability" suggests that the best programming language, framework, or architecture depends on specific project requirements, team constraints, and problem context. Popular choices aren't always optimal, and expert opinions should be evaluated critically. When choosing tools, consider whether they solve more problems than they create, their maintenance status, documentation quality, and footprint. Programming principles like DRY and design patterns are guidelines, not universal laws, and should be applied judiciously based on the situation.  
81  
4
13. 13  
[](/posts/what-you-need-to-know-about-frontend-design-patterns-zzupumol8 "What you need to know about frontend design patterns")  
Article  
![Avatar of miners](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/8cf42b495e314084b9e31eb135ff5d23)The Miners · 1y  
What you need to know about frontend design patterns  
Design patterns provide reusable solutions to common programming problems. Custom hooks in React exemplify this concept by allowing developers to extract and reuse stateful logic across components. The guide demonstrates how to create custom hooks for data fetching with loading states and currency formatting, showing how they improve code organization, reusability, and maintainability by separating concerns and following DRY principles.  
82  
1
14. 14  
[](/posts/hidden-react-architecture-patterns-that-senior-developers-actually-use-vkvbegrtv "Hidden React Architecture Patterns That Senior Developers Actually Use")  
Article  
![Avatar of netguru](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/201e234294cb4132ab31418b7627dbab)Netguru · 1y  
Hidden React Architecture Patterns That Senior Developers Actually Use  
Advanced React architecture patterns used by senior developers include Compound Component Architecture for managing shared state without prop drilling, Prop Getters pattern for creating reusable interactions with composed event handlers, and strategic choices between Controlled vs Uncontrolled components. These patterns enable building scalable, maintainable applications with cleaner APIs, better accessibility, and more intuitive component relationships through techniques like Context API, cloneElement, and state composition.  
67  
3
15. 15  
[](/posts/choose-your-own-architecture-mani217kw "Choose your own architecture")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 1y  
Choose your own architecture  
Choosing the right software architecture depends on several factors, such as project size, domain features, team structure, and non-functional requirements like performance and fault tolerance. Different projects may require different architectural styles, including monolithic, layered, services, SOA, and more. It's essential to understand the domain characteristics and tailor the architecture to meet specific needs efficiently.  
64
16. 16  
[](/posts/railway-pattern-lo76ptya9 "Railway Pattern")  
Article  
![Avatar of rubyla](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/rubyla)RUBYLAND · 1y  
Railway Pattern  
The Railway Pattern enables fault-tolerant function composition by chaining operations that can either succeed or fail gracefully. Using Ruby gems like Dry Monads and Pipeable, developers can build robust pipelines where each step produces either a Success or Failure result, allowing errors to bubble up without breaking the entire flow. The pattern is demonstrated through building an API client that handles HTTP requests, JSON parsing, validation, and data modeling as a single composable pipeline, making code more resilient to network issues and data problems.  
62  
2
17. 17  
[](/posts/why-go-design-patterns-still-matter-7bzplny04 "Why Go design patterns still matter")  
Article  
![Avatar of logrocket](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/logrocket)LogRocket · 1y  
Why Go design patterns still matter  
Explores how three specific design patterns can solve scaling challenges in Go microservices while maintaining code simplicity. The discussion focuses on practical implementation strategies that balance architectural complexity with Go's design philosophy.  
60  
1
18. 18  
[](/posts/object-oriented-design-patterns-with-java-etqmdyugq "Object-Oriented Design Patterns with Java")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 1y  
Object-Oriented Design Patterns with Java  
A comprehensive guide to essential object-oriented design patterns implemented in Java, covering Strategy, Singleton, Composite, Decorator, State, Observer, Proxy, Factory, and Visitor patterns. Each pattern is explained with practical examples and interactive code playbacks that demonstrate how to solve common programming problems through reusable solutions. The tutorial focuses on leveraging inheritance and polymorphism to create flexible, maintainable code architectures.  
52
19. 19  
[](/posts/undervalued-the-most-useful-design-pattern-6ijeoyeat "Undervalued: The Most Useful Design Pattern")  
Article  
![Avatar of rubyla](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/rubyla)RUBYLAND · 1y  
Undervalued: The Most Useful Design Pattern  
Explores using value objects, data objects, and factory methods to decouple software components and improve testability. Demonstrates refactoring a tightly coupled XML feed generator by separating concerns through domain boundaries, transforming ActiveRecord models into simple data structures that isolate business logic from external APIs and database dependencies.  
49
20. 20  
[](/posts/when-did-people-favor-composition-over-inheritance--mcnlqine3 "When did people favor composition over inheritance?")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 47w  
When did people favor composition over inheritance?  
Explores the historical origins and context of the "favor composition over inheritance" principle from the Gang of Four's Design Patterns book. Examines the three-page discussion that led to this aphorism, including the white-box versus black-box reuse distinction, language-specific considerations in Smalltalk and Java, and the compile-time versus runtime trade-offs. References Barbara Liskov's earlier work on subtypes and polymorphism, highlighting that composition and inheritance aren't the only options—first-class procedures offer a third alternative that the simplified aphorism overlooks.  
41  
6
21. 21  
[](/posts/laravel-extended-commands-eksznaprk "Laravel Extended Commands")  
Article  
![Avatar of ln](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ln)Laravel News · 40w  
Laravel Extended Commands  
A Laravel package adds Artisan commands for generating common design pattern stubs like Builders, Actions, Collections, Concerns, and Contracts. After installing via Composer, developers can use commands like 'php artisan make:builder' to quickly scaffold these patterns with proper namespacing in the app directory.  
39  
1
22. 22  
[](/posts/how-to-keep-your-users-focus-on-the-screen-f6hddejjk "How to keep your users focus on the screen")  
Article  
![Avatar of xubair](https://media.daily.dev/image/upload/s--1erEdk_I--/f_auto/v1720412025/squads/f1d41c79-78a0-430a-92af-208573d22209)Zubair Ahmed Rafi · 1y  
How to keep your users focus on the screen  
Explores how natural human visual patterns influence digital interface design. Discusses the thumb-width focal range used by major platforms like LinkedIn and Facebook to maintain user focus, and explains F-shaped reading behavior in search interfaces where users read the first line fully, skim the second, then lose attention downward. Emphasizes that effective design guides attention rather than filling space.  
39  
2
23. 23  
[](/posts/design-patterns-for-securing-llm-agents-against-prompt-injections-hqwcwfeqv "Design Patterns for Securing LLM Agents against Prompt Injections")  
Article  
![Avatar of simonwillison](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cf12b897300740218b35f49a6309ec5b)Simon Willison · 1y  
Design Patterns for Securing LLM Agents against Prompt Injections  
A comprehensive research paper by 11 authors from IBM, Google, Microsoft and other organizations presents six design patterns to mitigate prompt injection attacks in LLM agents. The patterns include Action-Selector, Plan-Then-Execute, LLM Map-Reduce, Dual LLM, Code-Then-Execute, and Context-Minimization approaches. Each pattern trades some agent flexibility for security by constraining actions and preventing untrusted input from triggering arbitrary tasks. The paper includes ten detailed case studies covering practical applications like SQL agents, email assistants, and customer service chatbots, providing threat models and mitigation strategies for each scenario.  
35
24. 24  
[](/posts/7-must-know-agentic-ai-design-patterns-n1thrld9d "7 Must-Know Agentic AI Design Patterns")  
Article  
![Avatar of mlm](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/795781ffb32446c39eba040feb64f505)Machine Learning Mastery · 50w  
7 Must-Know Agentic AI Design Patterns  
Seven proven design patterns for building production-ready AI agents: ReAct (reasoning loops), Reflection (self-critique), Planning (task decomposition), Tool Use (external integrations), Multi-Agent Collaboration (specialized agents), Sequential Workflow (fixed pipelines), and Human-in-the-Loop (safety checkpoints). Each pattern addresses specific trade-offs between cost, latency, reliability, and complexity. The guide emphasizes starting simple with single agents and tool use, then evolving to more complex patterns only when clear limitations emerge. Includes practical decision framework based on workflow predictability, quality requirements, and task complexity.  
32  
1
25. 25  
[](/posts/predicate-pattern-in-go-zwid12r7p "Predicate Pattern in Go")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 52w  
Predicate Pattern in Go  
Explores implementing the predicate pattern in Go to create elegant, filterable search methods. Demonstrates building a process finder that accepts predicate functions (functions returning bool) through builder methods like ByTitle() and ByPID(). Shows how to enhance developer experience by converting filter functions into methods on an empty struct, enabling IDE autocomplete for filter options while maintaining clean, idiomatic code.  
32

[See all Design Patterns archives](/tags/design-patterns/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/design-patterns/best-of/2025#page","url":"https://daily.dev/tags/design-patterns/best-of/2025","name":"Best Design Patterns Posts of 2025","description":"The most upvoted Design Patterns posts of 2025, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/design-patterns/best-of/2025#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/you-re-not-building-netflix-stop-coding-like-you-are-fvaumfnpy","name":"You're Not Building Netflix: Stop Coding Like You Are"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/react-design-patterns-and-best-practices-for-2025-e1pcgry51","name":"React Design Patterns and Best Practices for 2025"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/how-do-you-write-code--rzbbkp64c","name":"How do you write code?"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/best-design-pattern-source-for-learning-k8vmlofy4","name":"Best Design Pattern source for Learning"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/the-heart-of-architecture-deconstructing-patterns-ygcc6pzev","name":"The heart of architecture: deconstructing patterns"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/if-i-hear-design-pattern-one-more-time-i-ll-go-mad-qojiudlqa","name":"If I hear \"design pattern\" one more time, I'll go mad"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/design-patterns-for-agentic-ai-6jp4wev5d","name":"Design patterns for agentic AI"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/remove-42-vs-find-42-remove--xxbdpofnf","name":"remove(42) vs. find(42).remove()"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/ai-ready-frontend-architecture-dx9zbqpfc","name":"AI-Ready Frontend Architecture"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/how-did-mvc-get-so-f-ed-up--5fzcbqftl","name":"How did MVC get so F’ed up?"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/welcome-to-the-state-machine-pattern-5itzjs3mx","name":"Welcome to the State Machine Pattern"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/how-to-choose-the-best-programming-languages-libraries-and-patterns-mpqfr9vrh","name":"How to Choose the Best Programming Languages, Libraries, and Patterns"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/what-you-need-to-know-about-frontend-design-patterns-zzupumol8","name":"What you need to know about frontend design patterns"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/hidden-react-architecture-patterns-that-senior-developers-actually-use-vkvbegrtv","name":"Hidden React Architecture Patterns That Senior Developers Actually Use"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/choose-your-own-architecture-mani217kw","name":"Choose your own architecture"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/railway-pattern-lo76ptya9","name":"Railway Pattern"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/why-go-design-patterns-still-matter-7bzplny04","name":"Why Go design patterns still matter"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/object-oriented-design-patterns-with-java-etqmdyugq","name":"Object-Oriented Design Patterns with Java"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/undervalued-the-most-useful-design-pattern-6ijeoyeat","name":"Undervalued: The Most Useful Design Pattern"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/when-did-people-favor-composition-over-inheritance--mcnlqine3","name":"When did people favor composition over inheritance?"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/laravel-extended-commands-eksznaprk","name":"Laravel Extended Commands"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/how-to-keep-your-users-focus-on-the-screen-f6hddejjk","name":"How to keep your users focus on the screen"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/design-patterns-for-securing-llm-agents-against-prompt-injections-hqwcwfeqv","name":"Design Patterns for Securing LLM Agents against Prompt Injections"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/7-must-know-agentic-ai-design-patterns-n1thrld9d","name":"7 Must-Know Agentic AI Design Patterns"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/predicate-pattern-in-go-zwid12r7p","name":"Predicate Pattern in Go"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Design Patterns","item":"https://daily.dev/tags/design-patterns"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/design-patterns/best-of"},{"@type":"ListItem","position":5,"name":"2025"}]}]}
```

